- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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类表示简单
您可能关注的文档
最近下载
- 2024年城市管理网格员四级-中级理论知识试题及答案.docx VIP
- 2024年城市管理网格员三级(高级)理论知识考试试题及答案.docx VIP
- 2020-2021学年北京师大二附中实验学校九年级上学期期中数学试卷(含解析).pdf VIP
- 2025年城市管理网格员三级(高级)理论知识考试试题及答案.docx VIP
- 压力性尿失禁的护理查房PPT课件.pptx VIP
- 2024-2025学年辽宁铁道职业技术学院单招《英语》试卷及答案详解【典优】.docx VIP
- 辽宁铁道职业技术学院单招考试文化素质数学通关考试题库(完整版)附答案详解.docx VIP
- 学年西城区四中初三上学期期中数学试卷.pdf VIP
- 2019-2020学年北京四中九年级(上)期中数学试卷--含详细解析.docx VIP
- 中国餐饮企业发展报告.pptx VIP
文档评论(0)