c++ 编码风格指南

c++ 编码风格指南

ID:9805160

大小:48.00 KB

页数:5页

时间:2018-05-10

c++ 编码风格指南_第1页
c++ 编码风格指南_第2页
c++ 编码风格指南_第3页
c++ 编码风格指南_第4页
c++ 编码风格指南_第5页
资源描述:

《c++ 编码风格指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C++编码风格指南(张新宇)1介绍使用一致的编码风格的好处和重要性:·增强代码的可读性和可维护性·为项目组成员之间共享代码提供方便;·易于进行代码检查;·节省对代码进行格式化的时间;该指南不是强制性的,也没有覆盖所有情况,但希望尽量遵守。2源文件a.一个源文件应只包含一个类的定义(.h)或实现部分(.cpp)。其中:o类的定义部分的文件名形式为:ClassName.ho类的实现部分的文件名形式为:ClassName.cpp其中,ClassName为类名。b.如果某个类的定义很小,可以放在与它相关或包含它的另一个类的源文件中。c.在每个文件的开头,

2、应注释有该文件所包含的模块名称、编制人、和最后的修改时间等信息。3命名规范对于类、类的成员变量、类方法、方法参数、和局部变量采用不同的命名方法,以便能够在程序中方便的通过名称辨别相应元素的类型和作用范围,并保持一致的风格。所有元素的命名都应有意义。3.1类的命名对于所有类的命名,应采用InfixCaps风格,即:·类名由大写C_开头;·对于类型中所包含的每一个单词或缩写,以大写开头,其余小写;·不要用下划线'_'分割单词;·类名应为名词或名词短语;举例://GoodclassC_DatabaseManagerclassC_UserInterfac

3、e//BadManageDatabase//使用了动词短语database_manager//使用下划线分隔单词1.1成员变量的命名对于类成员变量(特别是私有成员变量)的命名,应采用infixCaps风格(注意不是上面的InfixCaps),即:·用m_开头;然后以小写字母开头,后面的每个单词以大写字母开头,其余部分小写;如:intm_fieldName·布尔类型的变量,可以冠以is,或以able结束;如:booleanisNull;booleanresizable;·指针类型的变量,应以冠以p,后跟大写字母;如:C_Layer*m_pLayer

4、;·所有常量全部大写,并用下划线分开。如:MAX_FIELD_LENGTH1.2方法的命名对于类方法的命名,应采用InfixCaps风格,即:·以大写字母开头,后面的每个单词以大写字母开头,其余部分小写;·不要用下划线'_'分割单词;·方法名应用动词或动词短语;举例://GoodShowStatus(),DrawCircle()//BadmouseButton()//不是动词短语add_feature()//不应用下划线·对于获取或设置类属性(成员变量)的方法,应由get或set开头,如:GetHeight(),SetHeight()·如果获取或

5、设置的值为一个指针类型,则以Ptr作为方法名的结尾,如:C_Layer*GetLayerPtr();·如果方法是测试类的某个布尔属性,则方法名应为IsXxx(),如:IsVisible()1.1方法参数的命名除没有m_前缀外,与类成员变量的命名方式相同。如:SetFieldHeight(intfieldHeight);1.2局部变量命名局部变量的命名全部用小写,单词间用下划线分隔,从而便于识别变量的作用范围。如:interror;inttime_of_error;注意:尽量不要用单个字母,如:p,r。对于简单for循环的计数变量,可以用i,j等单

6、字母变量;但对于有意义的计数变量,也应用具有意义的名词,如field_index;2布局风格·一行代码最多只能包含一个语句;·组合语句的括号采用如下风格:for(i=0;i<10;i++){statement1;if(j<200){statement2;statement3;}else{statement4;statement5;}//endif}//endfor·语句中尽量采用空格区分各个部分,以增强可读性。如:oif((n>10)&&(n<20))ofor(index=0;index<10;index++)·在方法的声明中,如果有多个参数,可

7、采用如下布局,以提高可读性:intAdd(intarg1,char*argr2,doublearg3);3源文件的内部布局1.1头文件的布局(.h)在定义一个类的头文件中,采用如下布局形式://////////////////////////////////////////////////////////////本文件的说明和版本信息///////////////////////////////////////////////////////////#ifndefXX_h#defineXX_h//SYSTEMINCLUDES<--包含系统级的头文

8、件#include//PROJECTINCLUDES<--包含本工程级的头文件#include"xx.h"//LOC

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

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

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