您的位置:首页 > 运维架构 > Linux

Linux C语言编码风格

2016-08-30 16:58 211 查看


最近看了《Linux C编程一站式学习》觉得编码风格还是挺重要的,在学习的过程中在博客中做下相关总结,应该会对自己的编码风格印象深刻些,希望自己以后都能遵守这样的好的编码风格。原文地址:http://docs.linuxtone.org/ebooks/C&CPP/c/ch09.html

1、缩进和空白

1)关键字if, while, for与其后的控制表达式的括号“(”之间插入一个空格分隔,但括号内的表达式应

      紧贴括号。例如: while␣(1);

2)双目运算符的两侧插入一个空格分隔,单目运算符和操作数之间不加空格。

      例如
i␣=␣i␣+␣1
++i
!(i␣<␣1)
-x
&a[1]
等。

3)后缀运算符和操作数之间也不加空格。

      例如取结构体成员
s.a
、函数调用
foo(arg1)
、取数组成员
a[i]


4)“,”号和“;”号之后要加空格,这是英文的书写习惯。

     例如
for␣(i␣=␣1;␣i␣<␣10;␣i++)
foo(arg1,␣arg2)


5)以上关于双目运算符和后缀运算符的规则不是严格要求,有时候为了突出优先级也可以写得更

      紧凑一些,例如
for␣(i=1;␣i<10;␣i++)
distance␣=␣sqrt(x*x␣+␣y*y)
等。但是省略的空格一定不要误

       导了读代码的人,例如
a||b␣&&␣c
很容易让人理解成错误的优先级。

6)由于标准的Linux终端是24行80列的,接近或大于80个字符的较长语句要折行写,折行后用空

      和上面的表达式或参数对齐。

      例如:if␣(sqrt(x*x␣+␣y*y) > 5.0

   
        &&␣x␣<␣0.0 

            &&␣y␣>␣0.0)

  或者  foo(sqrt(x*x␣+␣y*y),

   
        a[i-1]␣+␣b[i-1]␣+␣c[i-1])
7)较长的字符串可以断成多个字符串然后分行书写。

      例如:printf("This is such a long sentence that


                          "it cannot be held within
a line\n");

2、注释

1)单行注释应采用
/*␣comment␣*/
的形式,用空格把界定符和文字分开。

 
     多行注释最常见的是这种形式:

               /*  

           
    *␣Multi-line 

                *␣comment 

                */

2)整个源文件的顶部注释。说明此模块的相关信息,例如文件名、作者和版本历史等,顶头写不缩进。格式和1)差不多。

3)函数注释。说明此函数的功能、参数、返回值、错误码等,写在函数定义上侧,和此函数定义之间不留空行,顶头写不缩进。

4)代码行右侧的简短注释。对当前代码行做特别说明,一般为单行注释,和代码之间至少用一个空格隔开,一个源文件中所有的右
      侧注释最好能上下对齐。
5)复杂的结构体定义比函数更需要注释。
6)复杂的宏定义和变量定义也需要注释。

3、标识符
1)标识符的命名要清晰明了,可以使用完整的单词和大家易于理解的缩写。短的单词可以通过去元音形成缩写,较长的单词可以取
  
   单词的头几个字母形成缩写,也可以采用大家基本认同的缩写。例如count写成cnt,block写成blk,length写成len,window写成
  
     win,message写成msg,temporary可以写成temp,也可以进一步写成tmp。
2)内核风格规定变量、函数和类型采用全小写加下划线的方式命名,常量(宏定义和枚举常量)采用全大写加下划线的方式命名。
3)全局变量和全局函数的命名一定要详细,不惜多用几个单词多写几个下划线,例如函数名
radix_tree_insert
,因为它们在整个项目
  
   的许多源文件中都会用到,必须让使用者明确这个变量或函数是干什么用的。局部变量和只在一个源文件中调用的内部函数的命
  
  名可以简略一些,但不能太短,不要使用单个字母做变量名,只有一个例外:用i、j、k做循环变量是可以的。
4)建议不要用汉语拼音作为标识符名称,可读性极差。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 编码 linux 编程