编码规范(CC++)

编码规范(CC++)

ID:39623479

大小:41.57 KB

页数:12页

时间:2019-07-07

编码规范(CC++)_第1页
编码规范(CC++)_第2页
编码规范(CC++)_第3页
编码规范(CC++)_第4页
编码规范(CC++)_第5页
资源描述:

《编码规范(CC++)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目录C&C++编码规范31.导言31.1.适用范围31.2.执行等级32.文件命名及文件结构33.排版风格54.注释风格65.命名规则76.基本编码原则86.1.正确性原则86.2.可维护性原则:96.3.效率原则106.4.可移植原则106.5.可测试原则116.6.编译原则126.7.其他127.代码实现的流程127.1.需求理解和详细设计127.2.代码编写127.3.代码检查137.4.代码提交13C&C++编码规范1.导言1.1.适用范围l以C/C++为编程语言l资源受限系统1.2.执行等级本规范中每一条款都有一个执行等

2、级,分为:Ø【必须】代码无条件的满足必须等级的条款,不满足的代码必须得到修改,以满足相关的条款。Ø【推荐】条款非强制执行的,一般情况下遵照条款有助于改善代码的质量。若不特别指出,所有条款执行【必须】等级。2.文件命名及文件结构2.2.1.文件命名文件名由单个或者多个有意义,能“体现该文件功能”的单词、单词缩写组成。C++文件:l每个单词的首字母必须大写;l单词之间不用下划线分割;l其文件名尽量和类名同名。l【推荐】原则上一个头文件中只包含一个类的声明C文件:l模块名+下划线+有意义的单词组合,l模块名小写;l单词组合的首个单词的首

3、字母小写,其它的单词的首字母大写;2.2.文件头文件头是嵌入在C/C++头文件或源文件中,在文件首部的注释块,一般包含如下信息:l版权说明l模块目的/功能2.3.C/C++头文件除文件头以外,C/C++代码的头文件中,还需按以下顺序进行布局:l防止头文件重复包含的宏例如,头文件名为AbcDef.h,则该宏形如:#ifndef_ABCDEF_H_#define_ABCDEF_H_…#endifl#include区引用的头文件,按如下顺序Ø标准库/STL头文件Ø第三方代码头文件Ø自有代码头文件,并且自有代码头文件的第一行必须是#inc

4、lude该头文件为全局性头文件,用于包含一些全局设置、调试开关、打印开关等内容。l常量定义l全局宏定义l类声明(C++)或全局数据类型声明(C)l外部引用全局变量l全局函数原型声明(C)lC头文件,需要定义extern“C”1.1.C/C++源文件源文件也即实现文件,其布局方式为:l文件头l#include区,按如下顺序:Ø标准库/STL头文件Ø第三方代码头文件Ø自有代码头文件l#define区l本地数据类型定义区l本地变量区l本地表l类的成员函数(C++)l本地函数原型(C)l全局函数(C)l本地函数(C)1

5、.2.C++类声明的基本布局方式l友元声明l前向类声明l公有方法声明l保护方法声明l私有方法声明l保护成员声明l私有成员声明1.3.文件的目录结构l文件应按模块进行分目录放置l头文件和实现文件应该在不同的目录中,按模块分别放置l第三方代码应该放置到单独目录中,并保持其原始结构1.排版风格排版风格约定的基本原则是使程序易读易懂,一目了然,以利于代码阅读。1.1.1.使用缩进程序块采用缩进风格编写,缩进为4个空格位。缩进不使用TAB。1.2.在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行

6、非对等操作时,后不应加空格。例如:l分号、逗号只在后面加空格l双目操作符如“+”,“-”,“>”,“>>”等的前后加空格l单目操作符如"*"、"!"、"~"等前后均不加空格l"->"、"."前后不加空格1.3.任何需要空白的地方,只允许加一个空格符号1.4.使用,且仅使用一行空白行来区分具有相对完整的逻辑意义的两个代码块,如循环体前后、分支控制语句前后等。1.5.一行代码中只包含一条语句,不要将多条语句写到一行。例如以下格式均不符合此规范:if(pUserCR==NULL)return;rect.length=0;rect.wid

7、th=0;rect.length=width=0;1.6.单条语句尽量简洁,不要包含过多的操作。以下示例代码不符合本条规范:flag=(sqr(pointer->count++)*sin(--pointer->angle)>0)?(pointer=NULL):(pointer);应该修改为:result=sqr(pointer->count++)*sin(--pointer->angle);flag=result>0?(pointer=NULL):(pointer);1.7.单条语句较长时,可分成多行书写;新行使用一个缩进单位,并

8、且操作符出现在新行行首。例如:if(rect.x>0&&rect.y>0&&rect.width>0&&rect.height>0)1.8.使用#define定义宏时,使#define的各个字段对齐,例如:#defineMAX_LEN5#defin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。