第九章:编码风格
缩进与空白:
1.关键字if,while,for与其后的控制表达式的(括号之间插入一个空格分隔,担括号内的表达式应紧贴括号。While (1);
2.双目运算符的两侧各插入一个空格分隔,单目运算符和操作数之间不加空格。I = I + 1;&a[1];
3.后缀运算符和操作数之间不加空格,如结构体成员 s.a,函数调用 foo(arg1)
4.,号与;号之后要加空格,
5.以上关于双目运算符和后缀运算符的规则不是严格要求的,有时为了突出优先级也可以写得紧凑一些,for(i=1; i<10; i++)
6.由于标准的linux终端是24行80元旦,接近或大于80个字符的较长语句要折行写,折行后的空格和上面的表达式或参数对齐
7.较长的字符串可以断成多个字符串然后分行书写
Printf(“this is such a long sentence that ””it cannot be held within a line\n”);
C编译器会自动把相邻的多个字符串接在一起
内核关于缩进的规则:
- 要用缩进体现出语句块的层次关系,使用Tab字符缩进,不能用空格代替Tab,
- if/else、while、do/while、for、switch这些可能带语句块的语句,语句块的{}应该和关键字写在一起,用空格隔开,而不是单独占一行。
- 函数定义的{}单独占一行,这一点与语句块的规定不同。
- Switch和语句块里的case、default 对齐写,也就是说语句块里的case、default相对于switch不往里缩进、
- 代码中的每个逻辑段之间应该用一个空行分隔开,
- 一个函数的语句列表如果很长,也可以根据相关性分成若干组,用空行分隔
注释:
/* comment */
/*
* multine
* comment
*/