学习编程规则C++(一)
看了林锐 博士的高质量C++/C编程指南受益匪浅
http://man.chinaunix.net/develop/c&c++/c/c.htm
我觉得编程不仅要注重算法更重要的是有学会标准的编程风格,面向对象的思想。就是所谓的编程质量。它提供了一些C++的编程规则和建议.
他说“可以把程序的版式比喻为“书法”。好的“书法”可让人对程序一目了然,看得兴致勃勃。差的程序“书法”如螃蟹爬行,让人看得索然无味,更令维护者烦恼有加。”的确很有道理。。。
文件结构:
【规则1-2-1】为了防止头文件被重复引用,应当用ifndef/define/endif结构 产生预处理块。
【规则1-2-2】用 #include <filename.h> 格式来引用标准库的头文件(编译 器将从标准库目录开始搜索)。
【规则1-2-3】用 #include “filename.h” 格式来引用非标准库的头文件( 编译器将从用户的工作目录开始搜索)。
程序的版式:
【规则2-1-1】在每个类声明之后、每个函数定义结束之后都要加空行。
【规则2-1-2】在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地 方应加空行分隔。
【规则2-2-1】一行代码只做一件事情,如只定义一个变量,或只写一条语句。 这样的代码容易阅读,并且方便于写注释。
【规则2-2-2】if、for、while、do等语句自占一行,执行语句不得紧跟其后。 不论执行语句有多少都要加{}。这样可以防止书写失误。
【规则2-3-1】关键字之后要留空格。象const、virtual、inline、case 等关 键字之后至少要留一个空格,否则无法辨析关键字。象if、for、 while等关键字之后应留一个空格再跟左括号‘(’,以突出关键字。
【规则2-3-2】函数名之后不要留空格,紧跟左括号‘(’,以与关键字区别。
【规则2-3-3】‘(’向后紧跟,‘)’、‘,’、‘;’向前紧跟,紧跟处不 留空格。
【规则2-3-4】‘,’之后要留空格,如Function(x, y, z)。如果‘;’不是一 行的结束符号,其后要留空格,如for (initialization; condition; update)。
【规则2-3-5】赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作 符,如“=”、“+=” “>=”、“<=”、“+”、“*”、“%”、“&&