1 / 14
文档名称:

C++代码规范.doc

格式:doc   大小:81KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C++代码规范.doc

上传人:Gebu 2022/5/17 文件大小:81 KB

下载得到文件列表

C++代码规范.doc

文档介绍

文档介绍:软件程序C++代码规范
2012年9月29日
1 概述
此文档是XXX项目中软件开发部分的C++编码规范,用于统一团队开发的编程风格,使代码清晰整洁、可读性强以及便于维护。
由于C++语言本身比较复杂,且文件需要用到的各种图像,声音,模型,场景,UI等资源文件;
temp:用于存放临时生成文件,其中有两个子目录,compile目录用于存放编译器编译时生成的obj文件,link目录用于存放链接器的输出文件。
注:上面的例子中没有包含测试代码的目录设置,在实际中要根据具体实际使用的测试工具来设置合理的目录,用于存放各个测试用文件。单元测试框架建议选用CppUnit。
文件布局
包含头文件时的次序
将包含次序标准化可增强可读性、避免隐藏依赖( hidden dependencies),建议次序如下:
C系统头文件;
C++系统头文件;
其他库头文件;
项目专属头文件。
项目专属头文件应按照项目源代码目录树结构排列,并且避免使用绝对文件路径。
头文件中布局
头文件中按以下顺序进行布局:
用于头文件保护的宏;
#include引用的头文件;
常量定义;
宏定义;
类声明;
全局函数声明;
外部引用全局变量。
下面是关于头文件保护的说明。
通常,每一个 .cpp 文件( C++ 的源文件)都有一个对应的 .h 文件(头文件),也有一些例外,如单元测试代码和只包含 main() 的 .cpp 文件。
为头文件添加保护。所有头文件都应该使用 #define 防止头文件被多重包含,命名格式是: <PROJECT> _ <PATH> _ <FILE> _H_。
为保证唯一性,头文件的命名应基于其所在项目源代码树的全路径。例如,项目 foo 中的头文件 foo/src/bar/ 按如下方式保护:
#ifndef FOO_BAR_BAZ_H_
#define FOO_BAR_BAZ_H_
...
#endif // FOO_BAR_BAZ_H_
源文件中的布局
源文件布局方式为:
文件头;
#include头文件;
本地数据类型定义区;
类的成员函数;
全局函数。
C++类声明的基本布局方式
在类中使用特定的声明次序:
public在protected之前,protected在private之前,成员函数在数据成员(变量)前。
每一块中,声明次序如下:
typedefs 和 enums ;
常量;
构造函数;
析构函数;
成员函数,含静态成员函数;
数据成员,含静态数据成员。
命名规则
要给文件、变量、函数、参数、类等实体进行有意义的命名。名称能反映出实体的性质和用途,从而使代码便于阅读和维护,也一定程度上节省了注释的使用。
实体名称应采用有意义的英文单词,禁止使用汉语拼音或者拼音缩写作为名称;不建议使用诸如a1、b2等没有意义的字符串作为名称,避免在任何命名中出现含义不明确的数字,例如maxNumber1,maxNumber2。。
避免使用容易和编程语言、标准程序库、编程框架和操作系统环境中特有的关键字、函数名相混淆的名称作为实体的名称。
避免在名称中使用容易引起混淆的双关语。
类命名规则
类名应当是名词或者名词短语;名称要以大写字母“C”开头,所有单词的首字母为大写,单词之间不用下划线分割,例如CResourceManager、CCustomer。
父类和子类的名字之间应具有一定的关联性,以体现这种继承关系。例如父类名为CResourceManager,子类名可为CImageResourceManager。
函数和类成员函数命名规则
函数和类成员函数名应当是动词或动词短语,首单词全部小写,其余单词首字母大写。如save(),removeUnusedBlock()。
结构体命名规则
同类命名规则,只是名称前没有以大写字母“C”开头。
一般变量命名规则
使用一个或多个能够反映该变量职责和用途的单词。首单词全部小写,其余单词首字母大写。
类成员变量命名规则
同一般变量命名规则。变量名前加“m_”以示和一般变量的区别,例如m_MaxIndex。
全局变量命名规则
同一般变量命名规则。变量名前加“g_”以示和一般变量的区别,例如g_MinNumber。
宏、常量、枚举和枚举成员命名规则
使用一个或者多个能够反映该实体职责和用途的单词。单词全部字母大写,单词间使