ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:25.62KB ,
资源ID:21415269      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21415269.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++编码规范Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++编码规范Word文件下载.docx

1、_) class NameOneTwo; class Name;1.3.类库(或程序库)命名 (适用于C/C+) 使用命名空间防止名字冲突。 如果编译器没有实现命名空间,需要用前缀来避名名字冲突,不过前缀不要过长(2个字母比较好)。John Johnson 完成了一个数据结构的库,它可以使用JJ作为库的前缀,所以类名就象下面这样: class JjLinkList 1.4.方法和函数的命名(适用于C+) 使用与类名相同的规则 class NameOneTwo public: int DoIt(); void HandleError();1.5.类属性的命名(适用于C+) 属性(通常是非公有数据

2、成员)名字以字母m开头。 在 m(m_) 后面,使用与类名相同的规则。 总是位于其它修饰符(如表示指针的 p)的前面。 VarAbc(); ErrorNumber(); private: mVarAbc; mErrorNumber; String* mpName;1.6.方法和函数参数的命名(适用于C+) 第一个字母必须小写。 第一个字母后面的单词使用与类名相同的规则。 StartYourEngines( Engine&rSomeEngine,Engine&rAnotherEngine);1.7.局部变量的命名(适用于C/C+) 所有字母都用小写 使用下划线 作为单词的分隔。 intNameO

3、neTwo:HandleError(int errorNumber) error= OsErr(); Time time_of_error;ErrorProcessor error_processor;1.8.指针变量的命名前缀(适用于C/C+) 指针变量多数情况应在前面加 。 星号 * 应靠近类型,而不是变量名。 String* pName=new String; 特别的:String* pName, name; 应分成两行来写: String* pName; String name;1.9.引用变量和返回引用函数的命名前缀(适用于C+) 引用必须用 r作前缀修饰。 class Testvo

4、id DoSomething(StatusInfo&rStatus);StatusInfo& rStatus(); constStatusInfo& Status() const; / 这里返回的是常量引用,所以不符合本规则 mrStatus;1.10.全局变量的命名前缀(适用于C/C+) 全局变量总是以 g(g_) 作为前缀。 Loggerg_Log; Logger* g_pLog;1.11.全局常量的命名(适用于C/C+) 全局常量全部大写,并以下划线 分隔单词。 const intA_GLOBAL_CONSTANT = 5;1.12.静态变量的命名前缀(适用于C+) 静态变量以 s st

5、aticStatusInfo m_sStatus;1.13.自定义类型(typedef)的命名(适用于C/C+) 类型定义名称指的是用typedef定义的名称。 类型定义名称使用与类名相同的规则,并使用Type作为后缀。 typedefuint16 ModuleType; typedefuint32 SystemType;1.14.宏定义的命名(适用于C/C+) 所有单词的字母都用大写,并使用下划线 分隔.#define MAX(a,b) blah#define IS_ERR(err) blah1.15.C 函数的命名(适用于C/C+) C+项目中,应尽量少用C函数。 C函数使用GNU规范,所

6、有字母都使用小写,并用下划线 some_bloody_function() 特别的,为了赚容C/C+,在必要的时候,在C+中应以下面的格式定义C函数: extern “C” int some_bloody_function(); 或在C/C+中推荐使用下面的格式: #ifdef_cplusplus_ extern “C” #endif1.16.枚举的命名(适用于C/C+) 所有字母都大写,并用下划线 作为单词分隔。 enumPinStateType PIN_OFF, PIN_ON ;enum STATE_ERR,STATE_OPEN, STATE_RUNNING, STATE_DYING;2.

7、 排版规则2.1. 布局和模板2.1.1. 类的布局模板 (适用于C+) 请使用下面的模板来创建一个新的类:/*用一行来描述类*#include XX.h *-llib类的详细说明* seesomething*/#ifndefSORUTION_PROJECT_CLASSNAME_H#define/在这里包含系统头文件/在这里包含项目头文件在这里包含局部头文件在这里放置前置引用classXXpublic:类的生命周期控制函数,如构造和析构,以及状态机/* *Default constructor. */ XX(void); *Copy constructor. * *param from The

8、 value to copy to this object. XX(constXX& from); *Destructor. virtual XX(void);在这里放置类的运算操作符 *Assignment operator. *param from THe value to assign to this object. *return A reference to this object. XX&operator=(XX&from);在这里放置类的操作在这里放置属性存取在这里放置类的状态查询protected:private:;内联方法定义外部引用#endif 定义的顺序是: public

9、, protected, private 要清楚public/protected/private都应该放置哪些东西2.1.2.源文件格式(适用于C+)#include/ class implemented/ PUBLIC/=构造函数 =XX:XX()/ XXXX(constXX()/ XX/=操作符=);return*this;/ =/=类的操作 =/=属性存取 =/=状态查询 =/ PROTECTED / PRIVATE2.1.3. 保护头文件不被重复包含 (适用于C/C+) 应使用宏定义来保护头文件不被重复包含: 如果使用命名空间的时候,要把命名空间加到文件名前面:SORUTION_PRO

10、JECT_NAMESPACE_CLASSNAME_H#endif2.1.4. 方法和函数的布局 (适用于C/C+) 对于有较多参数的函数的写法如果参数较多,一行写不下,我们应该分成几行来写,并且每个参数都另起一行对齐:intAnyMethod(arg1, arg2, arg3, arg4); 或AnyMethod( arg1 , arg2 arg32.2. 缩进、制表符以及空格 (适用于C/C+) 缩进的时候,每一层缩进3,4,或8个空格。(推荐使用4个空格) 不要使用TAB,用空格,大多数编辑器可以用空格代替TAB。TAB应固定4个空格,因为大多数编辑器都是这么设置的。 虽然没有规定缩进的层

11、次,但是4至5层是合适的。如果缩进的层次太多,你可能需要考虑是否进行代码重构了。void func()if(something bad)(another thing bad)while(more input)2.3. 尽量使一行不要超过78个字母 (适用于C/C+) 有许多编辑器屏幕只有78个字母宽2.4. 保证一行只写一条语句 (适用于C/C+) 一行最多只写一条语句 一行只定义一个变量不要象下面这样:char* a, *x;int width, height; /widthand height of image要象这样:char* a= 0; / 文档说明char* x= 0;2.5. 花

12、括号 规则 (适用于C/C+)2.5.1. 花括号的位置 在关键字的下一行单独放置括号,并且与关键字对齐,如:(condition) .(condition) 2.5.2. 什么时候应使用花括号所有的 if, while 和 do 语句,要么用单行格式,要么使用花括号格式。 使用花括号格式:if (1 = somevalue) somevalue = 2; 单行格式:if (1 = somevalue) somevalue = 2;或下面这样(对于这种写法,建议使用花括号):somevalue = 2;2.5.3. 在花括号结束的位置加上注释 在花括号结束的位置加上注释是一个好习惯。假如前后花

13、括号距离很远,注释就能帮你理解它是如何对应的。如:while(1)(valid) / if validelse/ not valid/ end forever2.5.4. 注意屏幕大小 一个语句块尽量不超过一个屏幕大小,这样,不要卷动屏幕就可以阅读代码。2.6.圆括号 () 规则 (适用于C/C+) 圆括号与关键字之间应放一个空格。 圆括号与函数名之间不要有空格。 Return 语句不要使用圆括号。 if (condition) while(condition) strcpy(s, s1); return 1;2.7.if else 语句的格式 (适用于C/C+) 布局 if (条件) / 注

14、释 else if (条件) else 条件格式总是把常量放在等号或不等于号的左边:if ( 6 = errorNum ) .一个很重要的理由是,假如漏写一个等号,这种写法会产生一个编译错误,有助于马上发现问题。比如:if ( errorNum = 6) .错写成:if ( errorNum = 6) . / 这是一个不容易发现的灾难2.8.switch 格式 (适用于C/C+) 直通的case语句,应该放置一条注释说明这个case语句是直通到下一个case语句的。 总是要写default语句,不管是否是需要。 在case中需要定义变量的时候,应把所有代码放在语句块中。switch(.)cas

15、e1:继续执行case22: v;break;default:2.9. 使用goto,continue,break 和 ? (适用于C/C+)2.9.1. Goto 尽量避免使用Goto 语句。一个合理使用goto语句的场合是,当你需要从多层循环中跳出。for(disaster)gotoerror;/跳出循环.error:clean up the mess 跳转的标号必须单独在一行的最左边。Goto语句需要有相应的注释,说明它的用途。2.9.2. Continue and Break Continue 和break 实际上起到与goto一样的作用,因此,尽量少用为上。并且,Continue与b

16、reak最好不要连用。2.9.3. ? 用括号把条件表达式括起来。 不要在 ? : 中写上过多的代码,操作表达式应尽可能简洁。 操作语句应分行写,除非它们能够简洁的放在一行当中。 (condition) ?funct1() : func2(); (condition) longstatement anotherlong statement;2.10.运算符号的规则 (适用于C/C+) 一元操作符如(!、 等等)应贴近操作对象。if (!IsOk)return +v; 二元操作符如(+、*、%、= 等等)应在前后留空格。if ( v1 = v2) return v1 * 3; + 和 - 尽量使

17、用前置运算。在C+中,不管 +i 还是 i+,总是+i更容易生成优化代码。for(int i = 0; i 10; +i)2.11. 变量声明语句块 (适用于C/C+) 变量应该是随用随声明,不要集中在函数前(有些C语言不支持,则不在此要求之列)。特别是在for语句的循环变量,应只在for语句中定义。 声明语句块必须要对齐类型,变量,等号和初始化值要分别对齐。 DWORD mDword; DWORD* mpDword; char* mpChar; char mChar; mDword = 0; mpDword = NULL; mpChar mChar 3. 文档及注释应当使用文档自动生成工具,来生成相关的程序文档。3.1. 文件或程序库的文档注释(适用于C/C+)可以为整个文件编写文档。/* file file.h* Abrief file description.* Amore elaborated file description.3.2. 类文档注释(适用于C/C+)在类定义前面应加上类说明文档。/* WindowsNT brief Windows Nice Try. author Bill Gates author Several species of small furryanimals gathered together in a

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1