Style guidelines for C++
2014-06-25 22:19
288 查看
马上就要研二了。 曾经在研一开始前写了一段时间的学习日志, 也不知道从那一天开始, 就不在写了。 其实这大概是自己不想那样高调的在朋友圈写日志。 后来觉得写博客了。但是也是断案断续续。 没能坚持下去。 无论如何, 从 今天开始, 决定开启博客, 记录下自己学习的每一个脚印。 也可以供自己在需要的时候便于查看。 无论如隔 , 现在是开始整理所学, 温故而知新。
首先言归正传, 今天翻译了一篇写代码的标准。
首先, 要想成为一名优秀的程序员, 必须按照一定的标准去编写, 排版, 布局自己的代码。好的编程习惯, 不仅能够save 我们在debug事的efforts, 而且对于度程序的人也不是那么的laborious。 无规矩不成方圆, 下面说说要编写elegant 的C++代码过程中, 所需要遵循的 coding style。
1. 逗号‘,’和分号‘;’之前用空格, 不要在空格之后用逗号或者分号。
or
上述两种风格, 选择一种, stick with it
4.每一次缩进, 空格选择2, 3或者 4, 选择一个数字, 坚持下去
缩进的时候只能使用敲击空格键, 不能敲Tab键。(我选择的是敲击三下空格键作为代码缩进)。
5. 每一行最多80个字符。
6.当表达式比较复杂的时候, 使用括号(parentheses)明确(clarify) 优先级。
注意类名的第一个字母一定要大写。 对于一般的名字, 可能有多个单词组成, 此时有几种方式处理名字。例如:camelCase(除了第一个字母, 其他单词的头一个字母大写), UpperCamelCase(每一个单词的都一个字母要大写), using_underscores(使用下划线)等等, 选择一种风格坚持下去。 在这里, 我选择了camelCase风格。
8. 使用空行用于分割程序的不同功能块(using blank lines to separate unites of functionality)。
例如:
9. 如果嵌套的块大小超过一行, 使用brackets(即 {})括起来
例如:
参考资料 http://courses.cms.caltech.edu/cs11/material/cpp/donnie/cppstyle.html
首先言归正传, 今天翻译了一篇写代码的标准。
首先, 要想成为一名优秀的程序员, 必须按照一定的标准去编写, 排版, 布局自己的代码。好的编程习惯, 不仅能够save 我们在debug事的efforts, 而且对于度程序的人也不是那么的laborious。 无规矩不成方圆, 下面说说要编写elegant 的C++代码过程中, 所需要遵循的 coding style。
1. 逗号‘,’和分号‘;’之前用空格, 不要在空格之后用逗号或者分号。
for (int i; i < 5; i++) { foo(x1, x2, x3); }2.除了->, 其他 任何二元操作符(binary operator)周围使用一个空格。 但是单元运算子(unary operator)不要使用空格。
for (int i = 1; i < 5; i++) { foo(x1, x2, x3); }3.使用同一的大括号的风格。
for (int i = 1; i < 5; i++) { //code here; }
or
for (int i = 1; i < 5; i ++) { //code here; }
上述两种风格, 选择一种, stick with it
4.每一次缩进, 空格选择2, 3或者 4, 选择一个数字, 坚持下去
缩进的时候只能使用敲击空格键, 不能敲Tab键。(我选择的是敲击三下空格键作为代码缩进)。
5. 每一行最多80个字符。
6.当表达式比较复杂的时候, 使用括号(parentheses)明确(clarify) 优先级。
int x = (y * z - p * q) >> 2; if (something == TRUE && anotherThing == false) { //do something; }7. 使用一个一致 的命名大小写规则(Follow a consistent name-capitalization pattern.)
注意类名的第一个字母一定要大写。 对于一般的名字, 可能有多个单词组成, 此时有几种方式处理名字。例如:camelCase(除了第一个字母, 其他单词的头一个字母大写), UpperCamelCase(每一个单词的都一个字母要大写), using_underscores(使用下划线)等等, 选择一种风格坚持下去。 在这里, 我选择了camelCase风格。
8. 使用空行用于分割程序的不同功能块(using blank lines to separate unites of functionality)。
例如:
void foo() { //Start the attack on the fribs. int x = fribbery; y.attack(frabbet(x)); z.attack(frobbet(x)); //Now send the bejoogers out... bejooger[0].scramboozle(y); bejooger[1].scramboozle(y); bejooger[2].scramboozle(z); bejooger[3].scramboozle(z); //Make sure the curdleblogs are still alive. if (curdleblogpod.getAlive() <= 5) { //Yikes! } }
9. 如果嵌套的块大小超过一行, 使用brackets(即 {})括起来
if (foo) { //好的编程风格,该大括号需要 for (int i = 0; i < 3; i++) { cout << "Hello there, " << i << endl; doSomething(i >> 2); } }10. 关键字例如for, if, while 等之后需要加一个空格
例如:
if (foo) { // if 和‘(’之间有一个空格 while (true) { // while 和‘(’之间有一个空格 //do some stuff } }11. ‘)’ 和‘{’之间有一个空格
for (int i = 1; i < 5; i++) { x = y + z * 15; foo->callFunction(); }
参考资料 http://courses.cms.caltech.edu/cs11/material/cpp/donnie/cppstyle.html
相关文章推荐
- 翻译】geosoft C++ Programming Style Guidelines (已翻译完毕,大家看看自己总结出了哪些吧!)
- [Android] Code Style Guidelines for Contributors
- [C/C++] - Tips for Better Coding Style
- Code Style Guidelines for Contributors (一)
- Code Style Guidelines for Contributors Reading Notes
- Code Style Guidelines for Contributors (一)
- Android开源项目-编码风格规范-Code Style Guidelines for Contributors
- Android开源项目-编码风格规范-Code Style Guidelines for Contributors[原创译文]
- #编码风格#C++ Programming Style Guidelines
- Android Code Style Guidelines for Contributors
- Android Code Style Guidelines for Contributors
- Android开源项目-编码风格规范-Code Style Guidelines for Contributors
- Code Style Guidelines for Contributors
- C++ coding style (for webkit)
- Here are some useful hints for reduce your C/C++ code dramatically
- Guidelines for DB_BLOCK_SIZE
- some collected macros for C++
- 你最需要注意的11条要点for C++
- C++ Style and Technique FAQ (中文版) Bjarne Stroustrup 著, 紫云英 译
- understand for c++