导航

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,数学与逻辑的联系被打通,新的工具产生,布尔代数无疑使人类文明向前了一大步。文章中还提到,在搜索引擎发展的过程中,很多问题比如相关性程度、多关键词搜索等问题仅用布尔运算还不能完美解决。所以我们往工具箱里装更多的工具,以便设计出更精致的图纸、搭建出更经得起考验的工程。

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

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

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

posted on 2019-09-08 00:38  Binet  阅读(244)  评论(0编辑  收藏  举报