阅读:《高质量的C/C++编程》
昨天阅读了这本书的第一章(文件结构),今天继续学习第二章。
空行
空行:起着分隔程序段落的作用,使程序的布局更加清晰。
空行适合的位置:
- 在每个类声明之后、每个函数定义结束之后都要加空行。
- 在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。
代码行
规则:
- 一行代码只做一件事情,如只定义一个变量,或只写一条语句,使得代码更加清晰。
- if、for、while、do 等语句自占一行,执行语句不得紧跟其后,执行语句都要加{}。
注意:
尽可能在定义变量的同时初始化该变量(就近原则)以减少错误 。
代码行内的空格
规则:
- 关键字之后要留空格。像const、virtual、inline、case 等关键字之 后至少要留一个空格,否则无法辨析关键字。像 if、for、while 等关键字之后应留 一个空格再跟左括号‘(’,以突出关键字。
- 函数名之后不要留空格,紧跟左括号‘(’,以与关键字区别。
- ‘(’向后紧跟,‘) ’、‘, ’、‘;’向前紧跟,紧跟处不留空格。
- ‘,’之后要留空格,如果‘;’不是一行的结束符号,其后要留空格。
- 赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符, 如“=”、“+=” “>=”、“<=”、“+”、“*”、“%”、“&&”、“||”、“<<”,“^”等二元操作符的前后应当加空格。
- 一元操作符如“!”、 “~”、 “++”、 “–”、 “&”(地址运算符)等前后不加空格。
- 像“[] ”、“.”、“->”这类操作符前后不加空格。
- 对于表达式比较长的 for 语句和 if 语句,为了紧凑起见可以适当地去掉一些空格。
对齐
规则:
- 程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐。
- { }之内的代码块在‘{’右边数格处左对齐。
长行拆分
规则:
- 代码行最大长度宜控制在 70 至 80 个字符以内。
- 长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首,以便突出操作符。拆分出的新行要进行适当的缩进,使排版整齐,语句可读。
修饰符的位置
规则:
应当将修饰符 * 和 & 紧靠变量名
注释
C 语言的注释符为“/…/”。
C++语言中,程序块的注释常采用“/…/”,行注释 一般采用“//…”。
注意:块注释不能嵌套
注释通常用于:
(1)版本、版权声明;
(2)函数接口说明;
(3)重要的代码行或段落提示。
**注意:**虽然注释有助于理解代码,但注意不可过多地使用注释,不可喧宾夺主, 且注释应简单明了。
规则:
- 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性,不再有用的注释要删除。
- 注释应当准确、易懂,防止注释有二义性;错误的注释不但无益反而有害。
- 尽量避免在注释中使用缩写,特别是不常用缩写。
- 注释的位置应与被描述的代码相邻,可以放在代码的上方或右方,不可放在下方。
- 当代码比较长,特别是有多重嵌套时,应当在一些段落的结束处加注 释,便于阅读。
类的版式
类可以将数据和函数封装在一起,其中函数表示了类的行为(或称服务)。
类提供关键字 public、protected 和 private,分别用于声明哪些数据和函数是公有的、受保护 的或者是私有的。这样可以达到信息隐藏的目的,即让类仅仅公开必须要让外界知道的内容,而隐藏其它一切内容。
类的版式主要有两种方式:
(1)将 private 类型的数据写在前面,而将 public 类型的函数写在后面。 采用这种版式的程序员主张类的设计“以数据为中心”,重点关注类的内部结构。
(2)将 public 类型的函数写在前面,而将 private 类型的数据写在后面。 采用这种版式的程序员主张类的设计“以行为为中心”,重点关注的是类应该提供什么 样的接口(或服务) 。
建议采用“以行为为中心”的书写方式