- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C编程规范的
杨帆
2012.10;一、概述;二、字体与语法高亮;语法高亮;二、文件结构;头文件;实现文件;应用程序的文件组织形式;三、命名规则;类/结构;函数;变量;作用域前缀;类型前缀;四、代码风格与版式;语句与代码行
一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释。
if、for、while、do、try、catch 等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加 { } 。这样可以防止书写失误。;缩进和对齐
程序的分界符 { 和 } 应独占一行并且位于同一列,同时与引用它们的语句左对齐。
“{ }” 之内的代码块在 “{” 右边一个制表符(4个半空格符)处左对齐。如果出现嵌套的 “{ }”,则使用缩进对齐。
最大长度
代码行最大长度宜控制在70至80个字符以内。
长行拆分
长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐,语句可读。;空格的使用
关键字之后要留空格。象 “const”、“virtual”、“inline”、“case” 等关键字之后至少要留一个空格,否则无法辨析关键字。象 “if”、“for”、“while”、“catch” 等关键字之后应留一个空格再跟左括号 “(”,以突出关键字。
函数名之后不要留空格,紧跟左括号 “(” ,以与关键字区别。
“(” 向后紧跟,而 “)”、“,”、“;” 向前紧跟,紧跟处不留空格。
, 之后要留空格,如 Function(x, y, z)。如果 ; 不是一行的结束符号,其后要留空格,如 for (initialization; condition; update)。;赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、“+=” “=”、“=”、“+”、“*”、“%”、“”、“||”、“”, “^” 等二元操作符的前后应当加空格。
一元操作符如 “!”、“~”、“++”、“--”、“”(地址运算符)等前后不加空格。
象“[]”、“.”、“-”这类操作符前后不加空格。
对于表达式比较长的for、do、while、switch语句和if语句,为了紧凑起见可以适当地去掉一些空格,如for (i=0; i10; i++)和if ((a=b) (c=d));修饰符的位置
为便于理解,应当将修饰符 * 和 紧靠数据类型。
注释
注释的位置应与被描述的代码相邻,可以放在代码的上方或右方,不可放在下方。
边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。
注释应当准确、易懂,防止注释有二义性。错误的注释不但无益反而有害。
当代码比较长,特别是有多重嵌套时,应当在一些段落的结束处加注释,便于阅读。;类的版式
注释头与类声明
与文件一样,每个类应当有一个注释头用来说明该类的各个方面。
类声明换行紧跟在注释头后面,class 关键字由行首开始书写,后跟类名称。
界定符 “{” 和 “};” 应独占一行,并与 “class” 关键字左对齐。
对于功能明显的简单类(接口小于10个),也可以使用简单的单行注释头
格式参见:comment-class.cpp
;继承
基类直接跟在类名称之后,不换行,访问说明符(public, private, 或protected)不可省略。
class CXXX : public CAAA, private CBBB{??? // ...};
以行为为中心
将公有的定义和成员放在类声明的最前面,保护的放在中间,而私有的摆在最后。;访问说明符
访问说明符(public, private, 或protected)应该独占一行???并与类声明中的‘class’关键字左对齐。
类成员的声明版式
每个成员的声明都应该由 class 关键字开始向右缩进一个制表符(4个半角空格符),成员之间左对其。
初始化列表
应当尽可能通过构造函数的初始化列表来初始化成员和基类。初始化列表至少独占一行,并且与构造函数的定义保持一个制表符(4个半角空格)的缩进。
;函数的注释头
格式参见: comment-function.cpp
;五、版本控制
文档评论(0)