最近在学习C++,零零碎碎的看完了一本C++编程指南——《高质量C/C++编程指南》。其中有很多关于C++编程的一些规则与建议,感觉对我C++初步学习会很有帮助。由于看的时间很零碎,所以通过自己写文章来重新过读一遍并记录下来一边以后翻看。
第一篇——C++编程前准备于些许认识
头文件由三部分内容组成:头文件开头处的版权和版权声明、预处理块、函数和类结构声明等。
规则:
【1】 为了防止头文件被重复引用,应当用ifndef/define/enddef结构产生预处理块。
【2】 用#include<filename.h>格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。
【3】 用#include”filename.h”格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)。
建议:
【1】 头文件中只存放“声明”而不存放“定义”。
【2】 不提倡使用全局变量,尽量不要在头文件中出现extern int value这类声明。
程序的版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序风格的重要构成因素。
规则:
【1】 在每个类声明之后、每个函数定义结束之后都要加空行。
【2】 在一个函数体内,逻辑上密切相关的语句之间不加空行,其他地方应加空行分隔。
【3】 一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释。
【4】 If、for、while、do等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加{}。这样可以防止书写错误。
【5】 关键字之后要留空格
【6】 函数名之后不要留空格,紧跟左括号‘(’以与关键字区别。
【7】 ‘(’向后紧跟,‘)’、‘,’、‘;’向前紧跟紧跟处不留空格。
【8】 ‘,’之后要留空格。如果‘;’不是一行的结束符号,其后要留空格。
【9】 赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符等二元操作符的前后应当加空格。
【10】 一元操作符前后不加空格。
【11】 象“[]”、“.”、“->”这类操作符前后不加空格。
【12】 程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用他们的语句左对齐。
【13】 { }之内的代码块在‘{’右边数格处左对齐。
【14】 代码行最大长度宜控制在70至80个字符之内。代码行不要过长,否则不便于看也不便于打印。
【15】 长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要进行适当的缩进,是排版整齐,语句可读。
【16】 应当将修饰符 * 和 & 紧靠变量名。
【17】 注释是对代码的“提示”而不是文档。程序中的注释不可喧宾夺主,注释太多了会让人眼花缭乱。注释的花样要少。
【18】 如果代码本来就是清楚的,则不必加注释。否则多此一举,令人厌烦。
【19】 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。
【20】 注释应当准确、易懂,防止注释有二义性。错误的注释不但无益反而有害。
【21】 尽量避免在注释中使用缩写,特别是不常用缩写。
【22】 注释的位置应与被描述的代码相邻,可以放在代码的上方或右方,不可放在下方。
【23】 当代码比较长,特别是有多重嵌套时,应当在一些段落的结束处加注释,便于阅读。
建议:
【1】 尽可能在定义变量的同时初始化该变量(就近原则)。
【2】 对于表达式比较长的for语句和if语句,为了紧凑起见可以适当的去掉一些空格。
----------------------文章文字摘自《高质量C/C++编程指南》一书,其中一些规则与建议个人感觉对于我编程有所益处,故摘之以记录学习--------------------------