参考腾讯公司内部C++编码风格
- 程序块要采用缩进风格编写,缩进的空格数为4个。
- 相对独立的程序块之间、变量说明之后必须加空行。如:
1)函数之间;
2)代码不同逻辑片断之间;
3)每个类声明之后。 - 较长的语句(>80字符)要分成多行书写。如:
1)长表达式要在低优先级操作符处划分新行,操作符放在新行之首,并进 行适当的缩进。
2)若函数或过程中的参数较长,则要进行适当的划分。
3)循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。 - 不把多个短语句写在一行中。一行代码只做一件事情,如只定义一个变量,或只写一条语句。
- if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。
- 代码行之内应该留有适当的空格。如:
1)关键字之后要留空格。2)函数名之后不要留空格,紧跟左括号,‘(’向后紧跟,‘ )’、‘,’、‘;’向前紧跟,紧跟处不留空格,3)‘,’之后要留空格,如果‘;’不是一行的结束符号,后也要留空格. Eg:int main( ); int get(int a, int b); - 值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、“+=”“>=”、“<=”、“+”、“*”、“%”、“&&”、“||”、“<<、“^”等二元操作符的前后加2个空格。
- 一元操作符如“!”、“~”、“++”、“–”、“&”(地址运算符)等前后不加空格。
- 象“[]”、“.”、“->” 这类操作符前后不加空格。
- 程序块的分界符(如C/C++语言的大括号‘{’和‘}’)各独占一行且位于同一列,同时与引用它们的语句左对齐。
- 注释宜少不宜多,避免非必要的注释。解释“为什么”为不是“正在做什么”。
- 标识符命名 1)尽量使用英文单词,力求简单清楚,避免使用引起误解的词汇和模糊的缩写,使人产生误解。 2)命名规范必须与所使用的系统风格保持一致,并在同一项目中统一。 3)对于变量命名,禁止取单个字符(如i、j、k…),但i、j、k作局部 循环变量是允许的。 4)避免使用看上去相似的名称,如“l”、“1”和“I”看上去非常相似。
- 对于 switch 语句下的case 语句,如果因为特殊情况需要处理完一个 case 后进入下一个 case 处理,必须在该case 语句处理完、下一个 case 语句前加上明确的注释。 有效防止无故遗漏 break 语句。
- 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。
读《数学之美》第一章:
从小到大,数学陪伴我们的成长。——无论是课堂上的数学计算题,还是日常生活中的数学应用,数学如一个老朋友,和我们已经分不开了。但是,上了高中,发现周围和我一样喜欢数学的同学比较少,更多的是害怕它、厌烦它,因为它很难。数学对我来说也是难的,但这不妨碍我喜欢数学,但是在解决难题时,我仿佛一个侦探,一步一步查出真相,这是极富满足感的事。
数学,放之四海而皆准。在吴军教授的《数学之美》中,我看到了数学的通用性。第一章文字和语言、数字和信息,通过罗塞塔的石碑的典故讲述了文字、数字和语言的历史。数字和文字、语言一样,是人类文明的宝贵结晶,可以说有了这些信息传播媒介才有了人类文明智慧的极大发展。
数学是一门工具,数学也是一门语言。《数学之美》虽然与数学有关,其实是一本计算机书。“自然语言处理和搜索引擎的科普书记”,里面的知识或许现在还不具备相关专业知识的我还不能很好理解,但是也能看出作者的用心和关于知识的奇妙的转换。
数学帮助我们思考,这本书帮助我们从另一个角度看待数学。