VC天下 » C/C++

C++命名规范

为了规整项目代码的统一性,我参考网上的一些资料,为项目组成员定义了一份C++命名规范的初稿,只包含常用的一些东西,在此献丑。

1.类
类的名称都要以大写字母“C”开头,后跟一个或多个单词。为便于界定,每个单词的首字母要大写。
类的命名推荐用”名词”或”形容词+名词”的形式,例如:”CAnalyzer”, “CFastVector” ….
class CDataQueueManager

2.结构体
结构体使用C的命名方式,注意加_S,以及指针标示P
typedef struct DLLINFO_S
{
char dllName[MAX_DLLNAME_LEN + 1];
char methodName[MAX_METHODNAME_LEN + 1];
}DLLINFO, *PDLLINFO;

3.函数
函数的名称由一个或多个单词组成。为便于界定,每个单词的首字母要大写。 函数名应当使用”动词”或者”动词+名词”(动宾词组)的形式。例如:”GetName()”, “SetValue()”, “Erase()”, “Reserve()” ….

4.枚举、联合、typedef
枚举、联合、typedef语句生成的类型名由全大写字母组成,单词间通过下划线来界定,如:FAR_PROC, ERROR_TYPE ….

5.变量
类的成员变量用m_标识。比如:
class CDataQueueManager
{
private :
int m_Name; //类的成员变量用m_标识
static int sm_Type; //类的静态成员变量sm_标识
}

6.头文件
#ifndef DATACOLLECTOR_H
#define DATACOLLECTOR_H
。。。
#endif

7.格式
For循环:for (int i=0; i<10; i++) //C++高质量编程中有明确的讨论 其他:int i = 0; //注意前后加空格 int GetMsg(int id, const char *source, char *result);//函数 char *p;//*靠近变量。防止这种情况:char* p, q; //q是什么类型? 几个原则: 1、除非不得已,否则应该尽可能少使用全局变量。 2、尽量使用const代替#define 3、malloc、new出来的指针,记得free、delete,并将指针指向NULL。在C++中,建议使用new、delete。 4、能用引用的地方,尽量使用引用,而不是指针。(编程中慢慢体会)。 5、自己写的类、函数、变量,最好有相关注释。例如: int GetDataInfo()//获取数据信息(如果算法复杂,简明写上实现的思路) //zlh //2012.03.13 其他不清楚的,请参考: 1、谷歌C++编码规范 2、C++高质量编程

发表评论