高质量C++/C编程指南 之 程序的版式
空行:分隔程序段落
【规则 2-1-1】在每个类声明之后和每个函数定义结束之后都要加空行;
【规则 2-1-2】在一个函数体内,逻辑上密切的语句之间不加空行,其他地方应加空行分隔。
如:
代码行
【规则 2-2-1】一行代码只做一件事情(容易阅读和写注释);
【规则 2-2-2】if、for 、while、do等语句各占一行,执行语句不能紧跟其后,不论执行语句多少都要加{}。
【建议 2-2-1】尽可能在定义变量是进行初始化;
代码行内的空格
【规则 2-3-1】关键字之后留空格;如:if、for 、while后留空格跟”(“;
【规则 2-3-2】函数名之后不留空格,以与关键字区分;
【规则 2-3-3】’(’向后紧跟,’)’、’,’、’;’向前紧跟,紧跟处不留空格;
【规则 2-3-4】”,”后留空格;’;’若不是一行的结束,要留空格;
【规则 2-3-5】二元操作符的前后加空格;如:==、=、>=、etc
【规则 2-3-6】一元操作符前后不加空格;如:!、~、&、etc
【规则 2-3-7】象“[]”、“.”、“->”这类操作符前后不加空格。
【建议 2-3-1 】 对于表达式比较长的 for 语句和 if 语句, 为了紧凑起见可以适当地去掉一些空格, 如 for (i=0; i if ((a<=b) && (c<=d)) 。
如:
对齐
【规则 2-4-1】 程序的分界符‘ { ’和‘ } ’ 应独占一行并且位于同一列, 同时与引 用它们的语句左对齐。
【规则 2-4-2】 { } 之内 的代码块在‘ { ’右边数格处左对齐。
长行拆分
【规则 2-5-1】 代码行最大长度宜控制在 70 至 80 个字符以内 。 代码行不要过长, 否则眼睛看不过来, 也不便于打印。
【规则 2-5-2】长表达式要在低优先级操作符处拆分成新行, 操作符放在新行之首(以便突出操作符)。 拆分出的新行要进行适当的缩进, 使排版整齐,语句可读。
如:
修饰符的位置
【规则 2-6-1】 应当将修饰符 * 和 & 紧靠变量名。
如:
int *x, y; // 此处 y 不会被误解为指针
注释:“/*…*/”、“//…”
虽然注释有助于理解代码,但注意不可过多地使用注释。
【规则 2-7-1】 注释是对代码的“提示”, 而不是文档。 程序中的注释不可喧宾夺主,注释太多了会让人眼花缭乱。 注释的花样要少。
【规则 2-7-2】 如果代码本来就是清楚的, 则不必加注释。 否则多此一举, 令人厌烦。【规则 2-7-3】 边写代码边注释, 修改代码同时修改相应的注释, 以保证注释与代码的一致性。 不再有用的注释要删除。
【规则 2-7-4】 注释应当准确、 易懂, 防止注释有二义性。 错误的注释不但无益反而有害。
【规则 2-7-5】 尽量避免在注释中使用缩写,特别是不常用缩写。
【规则 2-7-6】 注释的位置应与被描述的代码相邻, 可以放在代码的上方或右方, 不可放在下方。
【规则 2-7-8】 当代码比较长, 特别是有多重嵌套时, 应当在一些段落的结束处加注释,便于阅读。
类的版式