Linux项目组编程规范

前言: 本手册以林锐博士编写的《高质量 C++/C 编程指南》内容为参考,根据项目组成员的经验总结和共同协定,稍作简洁和修改。本规范手册分成两部分: 第一部分:以条款的形式列出了项目组编程的规则和建议,规则是指项目组成员必须要遵守的编程规范,建议是指推荐使用的编程风格。 第二部分:是对第一部分规则和建议的详细说明。建议先仔细阅读第二部分,在已经了解了每条规则和建议的真正意义以及为什么要遵守的基础上,在实际项目编程时可以通过直接查阅第一部分来实现快速规范代码的目的。 本手册由Linux项目组成员共同制定,暂时处于beta版本,由于我们经验有限,对本手册的任何建议和批评都欢迎各位提出,我们将虚心接受。 Linux项目组 2009-4-23 第一部分: 第 1 章 文件结构 【规则 1-1】为了防止头文件被重复引用,应当用 ifndef/define/endif 结构产生预处理块; 【规则1-2】头文件由三部分内容组成: (1) 头文件开头处的版权和版本声明(参见第二部分示例 1-1) (2) 预处理块 (3) 函数和类结构声明等 【规则1-3】定义文件由三部分内容组成: (1) 定义文件开头处的版权和版本声明(参见示例 1-1)。 (2) 对一些头文件的引用 (3) 程序的实现体(包括数据和代码) 【规则1-4】不提倡使用全局变量,尽量不要在头文件中出现象 extern int value 这类声明。 【建议 1-5】头文件中只存放“声明”而不存放“定义”。建议将成员函数的定义与声明分开,不论该函数体有多么小; 第 2章 程序的版式 【规则2-1】在每个函数定义结束之后都要加空行; 【规则2-2】在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔; 【规则2-3】一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释; 【规则2-4】if、for、while 、do 等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加{}。这样可以防止书写失误。程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐; 【规则2-5】‘,’ ‘;’向前紧跟,紧跟处不留空格。 ‘,’之后要留空格,如Function(x, y, z) 。如果‘;’不是一行的结束符号,其后要留空格,如for (initialization; condition; update); 【规则2-6】赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、“+=”“>=”、“”这类操作符前后不加空格; 【规则2-9】应当将修饰符*和&紧靠变量; 【规则2-10】如果代码本来就是清楚的,则不必加注释。否则多此一举,令人厌烦。例如i++; // i加1,多余的注释; 【规则2-11】注释的位置应与被描述的代码相邻,可以放在代码的上方或右方,不可放在下方; 【规则2-12】尽可能在定义变量的同时初始化该变量(就近原则); 【建议2-13】代码行最大长度宜控制在70至80个字符以内。代码行不要过长,否则眼睛看不过来,也不便于打印; 【建议2-14】长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐,语句可读; 【建议2-15】注释是对代码的“提示”,而不是文档。程序中的注释不可喧宾夺主,注释太多了会让人眼花缭乱。注释的花样要少; 【建议2-16】边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除; 【建议2-17】注释应当准确、易懂,防止注释有二义性。错误的注释不但无益反而有害; 【建议2-18】尽量避免在注释中使用缩写,特别是不常用缩写; 【建议2-19】当代码比较长,特别是有多重嵌套时,应当在一些段落的结束处加注释,便于阅读。 【建议2-20】对于表达式比较长的for 语句和if 语句,为了紧凑起见可以适当地去掉一些空格,如for (i=0; i<10 linux default>[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24790158/viewspace-1041625/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24790158/viewspace-1041625/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值