代码规范
采用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)x
或 int y = int(x)
等转换方式。
7.2. 文件命名
文件名要全部小写, 可以包含下划线 (_
) 或连字符 (-
), 依照项目的约定. 如果没有约定, 那么 “_
” 更好。
9.8. 条件语句
倾向于不在圆括号内使用空格. 关键字 if
和 else
另起一行。
数学之美选读有感
(选读章节《简单之美:布尔代数和搜索引擎的索引》、《余弦定理和新闻的分类》)
在《简单之美:布尔代数和搜索引擎的索引》里,介绍了0和1用来表示网页是否含某个关键词的案例。利用计算机的高速处理能力,用布尔代数的形式表示搜索结果,使结果便于衔接下一步的计算机处理。是与否,1和0,数学与逻辑的联系被打通,新的工具产生,布尔代数无疑使人类文明向前了一大步。文章中还提到,在搜索引擎发展的过程中,很多问题比如相关性程度、多关键词搜索等问题仅用布尔运算还不能完美解决。所以我们往工具箱里装更多的工具,以便设计出更精致的图纸、搭建出更经得起考验的工程。
在《余弦定理和新闻的分类》里,介绍了用向量表示两篇新闻,通过余弦定理计算文章内容相似度的案例。日常的问题用数据表示,再加以适合的数学方法辅助,就能得到很好的解决。很巧妙。不知道想出这个办法的人是灵光一闪还是从复杂中整理提炼出来的,至少这结果本身向我们展示了简洁是好的、应该追求的,好的算法应该是一再经过奥卡姆剃刀的检验的。
牛顿说自己在真理的海边玩耍,“不过捡到了比通常更光滑的石子或更美丽的贝壳而已”,我连海的味道也不知道,只是恰巧进了博物馆,里面陈列了石子和贝壳。在这个博物馆里,我希望自己能在被人流推着走的时候不是只盯着别人的后脑勺,希望自己对这些石子保持兴趣,对它们多花一些心思。
算法是设计图纸,代码是砖,算法是软件工程最核心的、最有重量的部分。在学习算法的途中应该会有很多有意思的发现。
原文地址:https://www.cnblogs.com/Texas/p/11484034.html