IT优就业程序开发教程-最全面的CC++编码规范总结..docVIP

IT优就业程序开发教程-最全面的CC++编码规范总结..doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IT优就业程序开发教程-最全面的CC编码规范总结.

IT优就业程序开发教程-最全面的C/C++编码规范总结 本文来源于优知网 对于不同的编程语言来说,具体的编码规范可以有很大的不同,但是其宗旨都是一致的,就是保证代码在高质量完成需求的同时具备良好的可读性、可维护性。例如我们可以规定某个项目的C语言程序要遵循这样的规定:变量的命名,头文件的书写和#include 等等。 ? ? 下面是一些广为采用的编码规范: GNU Coding Standards Guidelines for the Use of the C Language in Vehicle Based Software C++ Coding Guidelines SUN Code Conventions for Java 以下是一些介绍编码、编码规范的书籍: C++编码规范,陈世忠,人民邮电出版社,2002 高质量程序设计指南:C++/C语言,林锐等,电子工业出版社,2003 注:以下只是根据课题组已有的经验给出的总结,并非对所有场景均适用。 对于高质量的工程,一般会做到: 1、代码简洁精炼,美观,可读性好,高效率,高复用,可移植性好,高内聚,低耦合,没有冗余,不符合这些原则,必须特别说明。 2、规范性,代码有规可循。特殊排版、特殊语法、特殊指令,必须特别说明。 一、文件排版方面/ 1、包含头文件 1.1 先系统头文件,后用户头文件。 1.2 系统头文件,稳定的目录结构,应采用包含子路径方式。 1.3 自定义头文件,不稳定目录结构,应在dsp中指定包含路径。 1.4 系统头文件应用:#include 1.5 自定义同文件应用:#include xxx.h 1.6 只引用需要的头文件。 2、h和cpp文件 2.1 头文件命名为*.h,内联文件命名为*.inl;C++文件命名为*.cpp 2.2 文件名用大小写混合,或者小写混合。例如DiyMainview.cpp,infoview.cpp。不要用无意义的名称:例如XImage.cpp;SView.cpp;xlog.cpp; 2.3 头文件除了特殊情况,应使用#ifdef控制块。 2.4 头文件#endif应采用行尾注释。 2.5 头文件,首先是包含代码块,其次是宏定义代码块,然后是全局变量,全局常量,类型定义,类定义,内联部分。 2.6 CPP文件,包含指令,宏定义,全局变量,函数定义。 3、文件结构 3.1 文件应包含文件头注释和内容。 3.2 函数体类体之间原则上用2个空行,特殊情况下可用一个或者不需要空行。 4、空行 4.1 文件头、控制块,#include部分、宏定义部分、class部分、全局常量部分、全局变量部分、函数和函数之间,用两个空行。 二、注释方面 1、文件头注释 1.1 作者,文件名称,文件说明,生成日期(可选) 2、函数注释 2.1 关键函数必须写上注释,说明函数的用途。 2.2 特别函数参数,需要说明参数的目的,由谁负责释放等等。 2.3 除了特别情况,注释写在代码之前,不要放到代码行之后。 2.4 对每个#else或#endif给出行末注释。 2.5 关键代码注释,包括但不限于:赋值,函数调用,表达式,分支等等。 2.6 善未实现完整的代码,或者需要进一步优化的代码,应加上 // TODO ... 2.7 调试的代码,加上注释 // only for DEBUG 2.8 需要引起关注的代码,加上注释 // NOTE ... 2.9 对于较大的代码块结尾,如for,while,do等,可加上 // end for|while|do 三、命名方面 1、原则 1.1 同一性:在编写一个子模块或派生类的时候,要遵循其基类或整体模块的命名风格,保持命名风格在整个模块中的同一性。 1.2 标识符组成:标识符采用英文单词或其组合,应当直观且可以拼读,可望文知意,用词应当准确,避免用拼音命名。 1.3 最小化长度 最大化信息量原则:在保持一个标识符意思明确的同时,应当尽量缩短其长度。 1.4 避免过于相似:不要出现仅靠大小写区分的相似的标识符,例如i与I,function与Function等等。 1.5 避免在不同级别的作用域中重名:程序中不要出现名字完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但容易使人误解。 1.6 正确命名具有互斥意义的标识符:用正确的反义词组命名具有互斥意义的标识符,如:nMinValue 和 nMaxValue,GetName() 和SetName() …. 1.7 避免名字中出现数字编号:尽量避免名字中出现数字编号,如Value1,Value2等,除非逻辑上的确需要编号。这是为了防止程序员偷懒,不肯为命名动脑筋而导致产生无意义的名字(因为用数字编号最省事)。 2、T,C,M,R类 2.1 T类表示简单

文档评论(0)

sa74g0hj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档