集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-19882)
面的CC编程规范
最全面的C/C++编码规范总结
来源:作者:51cto()
对于不同的编程语言来说,具体的编"nMaxValue","GetName()"
和"SetName()"
….
避免名字中出现数字编号:尽量避免名字中出现数字编号,如Value1,Value2
等,除非逻辑上的确需要编号。这是为了防止偷懒,不肯为命名动脑筋而导致产生无意义的名字(因为用数字编号最省事)。
,C,M,R类
T类表示简单数据类型,不对资源拥有控制权,在析构过程中没有释放资源动作。
C表示从CBase继承的类。该类不能从栈上定义变量,只能从堆上创建。
M表示接口类。
R是资源类,通常是系统固有类型。除了特殊情况,不应在开发代码中出现R类型。
M类的函数名称应采用HandleXXX命名,例如:HandleTimerEvent;不推荐采用java风格,例如handleTimerEvent;除了标准c风格代码,不推荐用下划线,例如,handle_event。
Leave函数,用后缀L。
Leave函数,且进清除栈,用后缀LC。
Leave函数,且删除对象,用后缀LD。
函数参数用a作为前缀。
避免出现和匈牙利混合的命名规则如apBuffer名称。用aBuffer即可。
函数参数比较多时,应考虑用结构代替。
如果不能避免函数参数比较多,应在排版上可考虑每个参数占用一行,参数名竖向对齐。
成员变量用m最为前缀。
避免出现和匈牙利混合的命名规则如mpBuffer名称。用mBuffer即可。
循环变量和简单变量采用简单小写字符串即可。例如,int i;
指针变量用p打头,例如void* pBuffer;
全局变量用g_最为前缀。
类和对象名应是名词。
实现行为的类成员函数名应是动词。
类的存取和查询成员函数名应是名词或形容词。
对于移植的或者开源的代码,可以沿用原有风格,不用C++的命名规范。
四、代码风格方面
每一行开始处的缩进只能用Tab,不能用空格,输入内容之后统一用空格。除了最开始的缩进控制用Tab,其他部分为了对齐,需要使用空格进行缩进。这样可以避免在不同的编辑器下显示不对齐的情况。
在代码行的结尾部分不能出现多余的空格。
不要在"::","->","."前后加空格。
不要在",",";"之前加空格。
{
类,结构,枚举,联合:大括号另起一行
函数体的{需要新起一行,在{之前不能有缩进。
除了特别情况,函数体内不能出现两个空行。
除了特别情况,函数体内不能宏定义指令。
在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。
在头文件定义的inline函数,函数之间可以不用空行,推荐用一个空行。
"if"、"for"、"while"、"do"、"try"、"catch"
等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加"{ }"。这样可以防止书写和修改代码时出现失误。
"if"、"for"、"while"、"do"、"try"、"catch"
的括号和表达式,括号可紧挨关键字,这样强调的是表达式。
if语句如果有else语句,用 } else { 编写为一行,不推荐用 3 行代码的方式。
一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释。
多行变量定义,为了追求代码排版美观,可将变量竖向对齐。
代码行最大长度宜控制在一定个字符以内,能在当前屏幕内全部可见为宜。
case关键字应和switch对齐。
case子语句如果有变量,应用{}包含起来。
如果有并列的类似的简单case语句,可考虑将case代码块写为一行代码。
简单的case之间可不用空行,复杂的case之间应考虑用空行分割开。
case字语句的大括号另起一行,不要和case写到一行。
为所有switch语句提供default分
面的CC编程规范修订稿 来自淘豆网m.daumloan.com转载请标明出处.