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

C/C++高质量编程笔记-第二章 程序的版式

2015-03-12 10:57 197 查看

第二章 程序的版式

1. 每个申明之后,函数定义之后都要加空行

 

2. 每个函数体内,逻辑上密切相关的语句间不佳空行,其他地方应加空行分隔

 

3. 一行代码只做一件事情,如只定义一个变量,只写一条语句,这样方便阅读,便于注释。

★实例:

int width;                                                  int width, heigh, deepth;

int heigh;

int deepth;

良好代码                                                        不良代码

 

4. if, for, while, do语句独占一行,不可紧接执行语句,不论多少代码都要加{},以防失误。

★实例:

if (width < heigh)                                    if(width < heigh) dosomething();

{

dosomething();

}

良好代码                                                         不良代码

△尽量定义变量时同时初始化,以防止引用未初始化的变量导致出错。

 

5. 关键字之后要留空格,const, virtual, inline, case等应至少留一个,而if, for ,while等应留一个空格,以突显关键字。

★实例:

if (year == 2000)

 

6. 函数名之后不要留空格,以区别关键字对待。

★实例:

void func(int *);

 

7. '('向后紧跟,')'、','、';'向前紧跟,不留空格。

★实例:

if (year == 2000);

 

8. ','之后要留空格,';'若不是一行结尾符号,应留空格。

★实例:

func(int x, int y, int z);

for (int=0; i<n; i++);

 

9. 赋值、比较、算术、逻辑、位域操作符,如"="、"+="、"-="、">="、"+"、"≠"、"%"、"&&"、"||"、"<<"、"^"等二元操作符前后应加空格。

 

10. 一元操作符,如"!"、"~"、"++"、"--"、"&"等前后不加空格。

 

11. 像"[]"、"."、"->"这类操作符前后不加空格。

△为了紧凑起见,较长的for、if语句可适当去掉一些空格。

★实例:

if ((a<=b) && (c<=d))       //仅&&前后有空格

 

12. 程序分界符'{'、'}'应独占一行,则位于同一列,同时与引用它们的语句左对齐。

 

13. {}之内的代码块应在'{'右边数空格处左对齐。

 

14. 代码行最大长度宜控制在70~80个字符,不宜过长。

 

15. 长表达式应在低优先级处拆分成新行,且操作符放于首行,拆分出的新行应适当的缩进排版。

★实例:

if ((very_length_variable1 >= very_length_variable2)

   && (very_length_variable3 <= very_length_variable4))

{

  ...

}

 

16. 修饰符 *和&应紧靠变量名

★实例:

int *name;

int *x, *y;

 

17. 代码注释仅起到提示作用,不宜过多。

 

18. 注释应于代码相邻,可位于其上方或右方,不可位于其下方。

 

19. 代码较长,有多重循环时应标明注释,方便阅读。

★实例:

if (...)

{

  ...

  while(...)

  {

...

  }//while

  ...

}//if

 

20. 类的版式

class A                                            class A                   

{                                                        {

  private:                                            public:

  int x, y;                                             void func(void);  

  ...                                                      ...

  public:                                            private: 

  void func(void);                             int x, y;

  ...                                                     ...

};                                                       }; 

以数据为中心                                 以行为为中心

                                                           择优选择
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c c++