Linux C语言编码风格

最近看了《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)建议不要用汉语拼音作为标识符名称,可读性极差。



阅读更多
个人分类: Liunx
下一篇Linux&amp;nbsp;&amp;quot;ls&amp;nbsp;-l&amp;quot;文件列表权限详解
想对作者说点什么? 我来说一句

Linux内核编码风格(译文)

2016年01月28日 150KB 下载

没有更多推荐了,返回首页

关闭
关闭