最全面的C/C++编码规范总结
对于不同的编程语言来说,具体的编码规范可以有很大的不同,但是其宗旨都是一致的,就是保证代码在高质量完成需求的同时具备良好的可读性、可维护性。例如我们可以规定某个项目的C语言程序要遵循这样的规定:变量的命名,头文件的书写和#include等等。
下面是一些广为采用的编码规范:
GNUCodingStandards
GuidelinesfortheUseoftheCLanguageinVehicleBasedSoftware
C++CodingGuidelines
SUNCodeConventionsforJava
以下是一些介绍编码、编码规范的书籍:
C++编码规范,陈世忠,人民邮电出版社,
高质量程序设计指南:C++/C语言,林锐等,电子工业出版社,
注:以下只是根据课题组已有的经验给出的总结,并非对所有场景均适用。
对于高质量的工程,一般会做到:
1.代码简洁精炼,美观,可读性好,高效率,高复用,可移植性好,高内聚,低耦合,没有冗余,不符合这些原则,必须特别说明。
2.规范性,代码有规可循。特殊排版、特殊语法、特殊指令,必须特别说明。
一,文件排版方面
1.包含头文件
1.1先系统头文件,后用户头文件。
1.2系统头文件,稳定的目录结构,应采用包含子路径方式。
1.3自定义头文件,不稳定目录结构,应在dsp中指定包含路径。
1.4系统头文件应用:#includexxx.h
1.5自定义同文件应用:#includexxx.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.6CPP文件,包含指令,宏定义,全局变量,函数定义。
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调试的代码,加上注释//onlyforDEBUG
2.8需要引起北京哪家医院白癜风比较好治疗白癜风哪个医院最专业