C++代码规范及《数学之美》读后感

代码规范

采用Google C++ Style Guide

原文链接:https://google.github.io/styleguide/cppguide.html

中文版链接:https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/

部分摘录:

1.1. Self-contained 头文件

头文件应该以 .h 结尾。至于用来插入文本的文件,说到底它们并不是头文件,所以应以 .inc 结尾。

2.1. 命名空间

鼓励在 .cc 文件内使用匿名命名空间或 static 声明. 使用具名的命名空间时, 其名称可基于项目名或相对路径. 禁止使用 using 指示(using-directive)。禁止使用内联命名空间(inline namespace)。

4.1. 参数顺序

函数的参数顺序为: 输入参数在先, 后跟输出参数。

6.9. 类型转换

使用 C++ 的类型转换, 如 static_cast<>(). 不要使用 int y = (int)xint y = int(x) 等转换方式。

7.2. 文件命名

文件名要全部小写, 可以包含下划线 (_) 或连字符 (-), 依照项目的约定. 如果没有约定, 那么 “_” 更好。

9.8. 条件语句

倾向于不在圆括号内使用空格. 关键字 ifelse 另起一行。

数学之美选读有感

(选读章节《简单之美:布尔代数和搜索引擎的索引》、《余弦定理和新闻的分类》)

在《简单之美:布尔代数和搜索引擎的索引》里,介绍了0和1用来表示网页是否含某个关键词的案例。利用计算机的高速处理能力,用布尔代数的形式表示搜索结果,使结果便于衔接下一步的计算机处理。是与否,1和0,数学与逻辑的联系被打通,新的工具产生,布尔代数无疑使人类文明向前了一大步。文章中还提到,在搜索引擎发展的过程中,很多问题比如相关性程度、多关键词搜索等问题仅用布尔运算还不能完美解决。所以我们往工具箱里装更多的工具,以便设计出更精致的图纸、搭建出更经得起考验的工程。

在《余弦定理和新闻的分类》里,介绍了用向量表示两篇新闻,通过余弦定理计算文章内容相似度的案例。日常的问题用数据表示,再加以适合的数学方法辅助,就能得到很好的解决。很巧妙。不知道想出这个办法的人是灵光一闪还是从复杂中整理提炼出来的,至少这结果本身向我们展示了简洁是好的、应该追求的,好的算法应该是一再经过奥卡姆剃刀的检验的。

牛顿说自己在真理的海边玩耍,“不过捡到了比通常更光滑的石子或更美丽的贝壳而已”,我连海的味道也不知道,只是恰巧进了博物馆,里面陈列了石子和贝壳。在这个博物馆里,我希望自己能在被人流推着走的时候不是只盯着别人的后脑勺,希望自己对这些石子保持兴趣,对它们多花一些心思。

算法是设计图纸,代码是砖,算法是软件工程最核心的、最有重量的部分。在学习算法的途中应该会有很多有意思的发现。

原文地址:https://www.cnblogs.com/Texas/p/11484034.html

时间: 2024-08-29 09:31:45

C++代码规范及《数学之美》读后感的相关文章

代码规范&amp;《数学之美》读后感

一.代码规范 参考自 http://c.biancheng.net/view/158.html 1) 空行 空行起着分隔程序段落的作用.空行得体将使程序的布局更加清晰.空行不会浪费内存,虽然打印含有空行的程序会多消耗一些纸张,但是值得. 规则一:定义变量后要空行.尽可能在定义变量的同时初始化该变量,即遵循就近原则.如果变量的引用和定义相隔比较远,那么变量的初始化就很容易被忘记.若引用了未被初始化的变量,就会导致程序出错. 规则二:每个函数定义结束之后都要加空行. 总规则:两个相对独立的程序块.变

编码规范与数学之美感想

命名规约 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式 类名使用UpperCamelCase风格,必须遵从驼峰形式(某些情况诸如领域模型相关的命名除外):方法名.参数名.成员变量.局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式 常量命名全部大写,单词间用下划线隔开 包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词 抽象类命名使用Abstract或Base开头:异常类命

代码规范与《数学之美》读后感

1.C++代码规范: (Googled代码规范): https://zh-google-styleguide.readthedocs.io/en/latest/contents/ 2. <<数学之美>>读后感: 在读这本书之前,自己对于自然语言处理的理解,一直是囿于语言学的思维中,如如何实现词义的上下文理解,以前的自己会马上想到结合语法,但是具体到计算机如何实现却不得为知,直到看到书中使用互信息,和信息熵的统计学的方法,解词语二义性,思维突然从原本的文科思维转换为是数学思维,对这样

读《数学之美系列十二——余弦定理和新闻的分类》有感 + 代码规范

Google的新闻是自动分类而产生的,但是计算机只懂算法,是看不懂我们人类的新闻.若是人为地一个新闻一个新闻地划分又会浪费不必要的人力.物理.由此,我们设计出一个算法,帮助我们利用计算机,自动地划分每天数量庞大地新闻. 算法涉及的方面不多:TF-IDF算法.余弦定理 看过的TF-IDF算法写的比较详细的,链接如下: https://blog.csdn.net/asialee_bird/article/details/81486700 简单来说可以运用这个算法,把一个个的新闻映射成为向量的形式.而

编码规范&amp;读《数学之美》有感

编码规范 & 读<数学之美>感想 l  编码规范 一.排版 1.关键词和操作符之间加适当的空格. 2.相对独立的程序块与块之间加空行 3.较长的语句.表达式等要分成多行书写. 4.划分出的新行要进行适应的缩进,使排版整齐,语句可读. 5.长表达式要在低优先级操作符处划分新行,操作符放在新行之首. 6.循环.判断等语句中若有较长的表达式或语句,则要进行适应的划分. 7.若函数或过程中的参数较长,则要进行适当的划分. 8.不允许把多个短语句写在一行中,即一行只写一条语句. 9.函数或过程的

2015.8.7 数学之美番外篇:快排为什么那样快 读后感

数学之美番外篇:快排为什么那样快 读后感 书中所举得例子,不论是12个小球还是排序问题,解的可能性很多,但是最终的结果只有一个.因此我需要用我所能做的操作来寻找到解空间,其中涉及关键问题:为了寻找到正确的解,我需要做什么. 首先,寻找正确的解的过程可以看做是一个逐步排除错误的解的过程.我们可以假设我的正确的解可能随机为任何一种可能,如果我的每一步能够排除掉尽可能多的解,那么我就能最快的找到我想要的解.但是我能不能使得我的每次划分都去掉一大部分呢?这是一个trade-off的问题,尽管有的时候我可

关于“代码规范”,“Review”和“Check list”(续)

在前两天的    关于“代码规范”,“Review”和“Check list”    一文中,我给自己列出了Check list,如下: 1.代码能够工作么?它有没有实现预期的功能,逻辑是否正确等. 2.所有的代码是否简单易懂? 3.代码符合你所遵循的编程规范么?这通常包括大括号的位置,变量名和函数名,行的长度,缩进,格式和注释. 4.是否存在多余的或是重复的代码? 5.代码是否尽可能的模块化了? 6.是否有可以被替换的全局变量? 7.是否有被注释掉的代码? 8.循环是否设置了长度和正确的终止条

#4【转】Google推荐的15条军规:HTML5代码规范

这篇文章是转载的,很久之前收录在电脑里面的.  忘记是哪里搞来的了,大家知道是转载的就好了... 这里的图片要点击打开才能看到,因为复制过来的,图片有点问题...因此想要图片的辛苦了... Google推荐的15条军规:HTML5代码规范 1.协议头: 建议在指向图片或其他媒体文件.样式表和脚本的URL地址中省略HTTP:协议部分,除非已知相应文件不能同时兼容2个协议. 2.缩进:每次缩进使用双空格 不要使用tab制表符或制表符加空格的混合方式缩进 3.大小写:只使用小写 所有的代码都应是小写的

JavaScript代码规范及其他注意事项

代码执行一般自上而下,变量需要在使用的函数段之前进行声明并赋予初值. 代码规范书写: 1.选中代码段后使用Tab键,可令代码段整体向右移动一段位置(一般是4位),善用Tab键可使得代码段对齐变得更容易.代码段对齐,可读性更好. 2.等号"=".加号"+"等数学运算符两边应空出1位.如  x = x + 1; 3.添加注释一般使用"//".注释应简明易懂. 4.代码段合理使用空行可提升可读性. 5.变量通常使用字母.下划线.数字的组合方式且首位应使