下载此文档

C++代码规范.doc


文档分类:行业资料 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
软件程序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。
宏、常量、枚举和枚举成员命名规则
使用一个或者多个能够反映该实体职责和用途的单词。单词全部字母大写,单词间使

C++代码规范 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人Gebu
  • 文件大小81 KB
  • 时间2022-05-17