好的编程风格

1。关键字 if, while, for 后有一个空格

2。=号之类的双目运算符两侧都有空格

3。后缀运算符和操作数之间不加空格 例如 s.a , foo(argu) , a[i]

4。, 号和 ; 号之后要加空格,例如 foo(argu1, argu2) for (i=0; i<20; i++)

5。关于双目运算符两侧加空格可以灵活规定,例如 distance = sqrt(x*x + y*y),突出结合方式

6。如果程序需要换行,则要与上一行的表达式对齐 foo(sqrt(x*x + y*y))

                                                                          a[i-1] + b[i-1] + c[i-1])

7。较长的字符串可以段成多个字符串,并且要对齐

       printf(“This is such a long stenance that”

                  "it can not be leld\n”);  这个 print函数中的字符串就跟一个是一样的

8。有的人喜欢在变量定义语句中使用 Tab 字符,使变量名对齐。

      int            a, b;

      double    c;

9。关于缩进的规则 建议使用 tabstop=8,看起来层次非常明显  

10。if/else , while , do/while , for , switch 等语句块的大括号,不要单独占一行 , 建议 if () {} ,并且大括号

     之前要有个空格。

11。函数定义的大括号,{},要单独占一行。

12。switch语句中的case,default对齐写,

好的编程风格
switch风格

13。代码中没个逻辑段落之间应该有一个空格分开,例如全局变量与函数之间,或者函数与函数之间。

14。一个函数内,语句列表很长,分组,例如变量定义为一组加空格,语句,return 0 是一组,加空格。

15。单行注释 /* comment */ 用空格把定界符和注释分开。多行注释风格如下

好的编程风格
多行注释

16。使用注释的场合

  • 整个源文件顶部。说明此模块信息。顶头写,不缩进
  • 函数注释,说明此函数的功能,参数,返回值,错误等等,卸载函数定义上侧,和此函数之间不留空行,顶头写
  • 相对独立的语句注释,对这一组语句做特别说明,在语句组上侧,和此语句组不留空行,与当前与剧组缩进一致
  • 代码右侧简短注释,对当前代码行做特别说明,一般为单行注释,和代码之间至少用一个空格分开,最好能上下对齐。
    函数内的注释要尽可能少,写注释主要是未了 说明你的代码“能做什么”比如函数接口的定义,而不是为了说明“怎么做”,只要代码写的清楚,“怎么做”是一目了然的,除非是特别需要提醒注意的地方菜使用函数内的注释。
  • 复杂的结构体定义比函数更需要注释。
  • 复杂的宏和变量声明也需要注释。

17。标识符命名

  • 清晰明了,可以使用完整单词和易于理解的缩写,短的单词可以采用去元音的缩写形式,长的单词可以取单词的头几个字母形成缩写。
  • 内核编码风格规定变量,函数和类型采用全小写加下划线_的方式命名,常量(比如宏定义和枚举常量)采用全大写加下划线的方式,例如 函数 radix_tree_insert 类型名 struct radix_tree_root,常量RADIX_TREE_MAP_SHIFT等 ( 不要使用匈牙利命名法)C++中可以使用大小写字母,叫做CamelCase
  • 全局函数和全局变量的命名一定要详细,不惜多用几个单词多写几个下划线,例如radix_tree_insert,因为它们在整个项目的许多源文件中都会用到,必须让使用者明确这个函数或变量是干什么用的。局部变量和只在一个源文件中调用的内部函数的命名可以简略一些。但不能太短,尽量不要使用单个字母,只有一个例外:用 i , j , k 做循环变量可以。
  • 禁止使用汉语拼音做标识符。

18。函数 ( 每个函数都应该尽可能的简单,以下内容如果不能满足,考虑分割函数)

  • 实现一个函数只是为了做好一件事情
  • 函数内部缩进不易过多,一般最多不能超过4层。
  • 函数不要写的太长,建议在24行的标准终端上不超过两屏,太长会造成阅读困难。如果一个函数在概念上是简单的,只是长度长了一点,没关系。例如一个函数是由一个大的switch语句组成,其中有很多个case,这是可以的。
  • 执行函数就是执行一个动作,函数名通常应包含动词。例如 get_current
  • 比较重要的函数定义上侧必须加注释,说明函数的功能,参数,返回值,错误码等等
  • 另一个度量函数复杂度的办法是看有多少个局部变量,一般5-10个局部变量已经很多了。

19。indent工具(可以格式化代码的工具)参数 –kr –i8

你可能感兴趣的:(编程)