您的位置:首页 > 编程语言 > C语言/C++

Style guidelines for C++

2014-06-25 22:19 288 查看
马上就要研二了。 曾经在研一开始前写了一段时间的学习日志, 也不知道从那一天开始, 就不在写了。 其实这大概是自己不想那样高调的在朋友圈写日志。 后来觉得写博客了。但是也是断案断续续。 没能坚持下去。 无论如何, 从 今天开始, 决定开启博客, 记录下自己学习的每一个脚印。 也可以供自己在需要的时候便于查看。 无论如隔 , 现在是开始整理所学, 温故而知新。

首先言归正传, 今天翻译了一篇写代码的标准。

首先, 要想成为一名优秀的程序员, 必须按照一定的标准去编写, 排版, 布局自己的代码。好的编程习惯, 不仅能够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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: