全面面地C&C++编程要求规范

全面面地C&C++编程要求规范

ID:44839908

大小:220.54 KB

页数:14页

时间:2019-10-30

全面面地C&C++编程要求规范_第1页
全面面地C&C++编程要求规范_第2页
全面面地C&C++编程要求规范_第3页
全面面地C&C++编程要求规范_第4页
全面面地C&C++编程要求规范_第5页
资源描述:

《全面面地C&C++编程要求规范》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用文档最全面的C/C++编码规范总结2016.01.2815:56:49来源: 51cto作者:51cto ( 0 条评论 )  对于不同的编程语言来说,具体的编码规范可以有很大的不同,但是其宗旨都是一致的,就是保证代码在高质量完成需求的同时具备良好的可读性、可维护性。例如我们可以规定某个项目的C语言程序要遵循这样的规定:变量的命名,头文件的书写和#include 等等。下面是一些广为采用的编码规范:GNUCodingStandardsGuidelinesfortheUseoftheCLanguag

2、einVehicleBasedSoftwareC++CodingGuidelinesSUNCodeConventionsforJava以下是一些介绍编码、编码规范的书籍:大全实用文档C++编码规范,陈世忠,人民邮电出版社,2002高质量程序设计指南:C++/C语言,林锐等,电子工业出版社,2003注:以下只是根据课题组已有的经验给出的总结,并非对所有场景均适用。对于高质量的工程,一般会做到:代码简洁精炼,美观,可读性好,高效率,高复用,可移植性好,高内聚,低耦合,没有冗余,不符合这些原则,必须特别说明

3、。规范性,代码有规可循。特殊排版、特殊语法、特殊指令,必须特别说明。一、文件排版方面1.包含头文件1.1先系统头文件,后用户头文件。1.2系统头文件,稳定的目录结构,应采用包含子路径方式。1.3自定义头文件,不稳定目录结构,应在dsp中指定包含路径。1.4系统头文件应用:#include1.5自定义同文件应用:#include"xxx.h"1.6只引用需要的头文件。2.h和cpp文件2.1头文件命名为*.h,内联文件命名为*.inl;C++文件命名为*.cpp大全实用文档2.2文件名用大

4、小写混合,或者小写混合。例如DiyMainview.cpp,infoview.cpp。不要用无意义的名称:例如XImage.cpp;SView.cpp;xlog.cpp;2.3头文件除了特殊情况,应使用#ifdef控制块。2.4头文件#endif应采用行尾注释。2.5头文件,首先是包含代码块,其次是宏定义代码块,然后是全局变量,全局常量,类型定义,类定义,内联部分。2.6CPP文件,包含指令,宏定义,全局变量,函数定义。3.文件结构3.1文件应包含文件头注释和内容。3.2函数体类体之间原则上用2个空行

5、,特殊情况下可用一个或者不需要空行。4.空行4.1文件头、控制块,#include部分、宏定义部分、class部分、全局常量部分、全局变量部分、函数和函数之间,用两个空行。二、注释方面1.文件头注释1.1作者,文件名称,文件说明,生成日期(可选)2.函数注释2.1关键函数必须写上注释,说明函数的用途。大全实用文档2.2特别函数参数,需要说明参数的目的,由谁负责释放等等。2.3除了特别情况,注释写在代码之前,不要放到代码行之后。2.4对每个#else或#endif给出行末注释。2.5关键代码注释,包括但

6、不限于:赋值,函数调用,表达式,分支等等。2.6善未实现完整的代码,或者需要进一步优化的代码,应加上 //TODO...2.7调试的代码,加上注释 //onlyforDEBUG2.8需要引起关注的代码,加上注释 //NOTE...2.9对于较大的代码块结尾,如for,while,do等,可加上 //endfor

7、while

8、do三、命名方面1.原则1.1同一性:在编写一个子模块或派生类的时候,要遵循其基类或整体模块的命名风格,保持命名风格在整个模块中的同一性。1.2标识符组成:标识符采用英文单词或其组

9、合,应当直观且可以拼读,可望文知意,用词应当准确,避免用拼音命名。1.3最小化长度&&最大化信息量原则:在保持一个标识符意思明确的同时,应当尽量缩短其长度。1.4避免过于相似:不要出现仅靠大小写区分的相似的标识符,例如"i"与"I","function"与"Function"等等。大全实用文档1.5避免在不同级别的作用域中重名:程序中不要出现名字完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但容易使人误解。1.6正确命名具有互斥意义的标识符:用正确的反义词组命名具有互斥意义的标

10、识符,如:"nMinValue" 和 "nMaxValue","GetName()" 和"SetName()" ….1.7避免名字中出现数字编号:尽量避免名字中出现数字编号,如Value1,Value2等,除非逻辑上的确需要编号。这是为了防止偷懒,不肯为命名动脑筋而导致产生无意义的名字(因为用数字编号最省事)。2.T,C,M,R类2.1T类表示简单数据类型,不对资源拥有控制权,在析构过程中没有释放资源动作。2.2C表示从CBase继承的类。该类不能从栈上

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

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

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