- 2
- 0
- 约1.3万字
- 约 21页
- 2017-09-02 发布于浙江
- 举报
TEC042017代码编写规范
目 录
前言 1
一、基本内容 1
1.1 行的长度 1
1.2 大括号 1
1.3 字符串 2
1.4类型转换(Casting) 3
1.5 指针 vs. 参数引用 3
1.6 STL 和其他标准类 3
二、命名约定 3
2.1宏名 3
2.2函数名 4
2.3变量名 4
2.4控件 4
2.5类命名 5
2.6结构命名 6
2.7文件 7
三、代码规范 7
3.1注释 7
3.2 声明 9
3.3 变量(Variable) 13
3.4 常量(Constants) 14
3.5 Functions 和 Methods 15
3.6 代码 18
四、类组织规范 18
五、编程风格 18
6.1层次性 19
6.2错误处理 19
6.3参数 20
六、模块化 20
七、界面设计规范 20
八、其他 20
8.1一些较好的习惯 20
8.2一些不好的习惯 21
前言
本文档的目的:
提高开发效率。每个开发人员将会感觉到修改别人的代码就象在修改自己的代码。
增强可维护性。对开发者来说,具有好的结构与文档的代码更易于维护。
降低bug的比率。本文档的部分规则和向导描述的技术目是为了在开发周期中预防bug或尽早地发现bug。
一、基本内容
1.1 行的长度
为了便于阅读和编辑,源文件每一行的长度不得超过80个字符。
1.2 大括号
以下方法可以使阅读更加便利,也可以预防出现bug。
大括号必须重起一行,这样可以有效的划分代码段,防止代码缠绕在一起。
{
statements
}
大括号应该缩进,与相对应的代码段在同一垂直线上。
if ( psz != NULL )
{ if ( psz2 != NULL ) { }}-- NOT --if ( psz != NULL )
{ if ( psz2 != NULL ) { }
}
对每一种情况的描述都必须用大括号来标识,哪怕仅有一种简单的情况。因为如果不这样的话,不经意间就会引入bug,在code review时,匆匆一瞥很难发现这个bug 。例如:
if ( ERROR_SUCCESS != sc ){ single-line statement}
大括号也可用作限定局部变量的范围或控制变量得生命周期。例如:
{ CMyClass mc;
use the class instance here}
1.3 字符串
字符串可以是以下三种类型: CHAR, TCHAR, 或 WCHAR。为了避免错误,当列示的情况发生时需要遵循以下的规则 :
当数据类型是WCHAR 时,使用lstrxxxW (note the trailing W) 或wcsxxx functions。 如:
lstrcpyW(?pwszDest,?pwszSrc );wcscpy(?pwszDest,?pwszSrc );
当数据类型是 CHAR 时,使用 lstrxxxA (note the trailing A) 或strxxx functions。例如:
lstrcpyA(?ptszDest,?ptszSrc );strcpy(?ptszDest,?ptszSrc );
当数据类型是 TCHAR 时,使用 lstrxxx 或 tcsxxx functions. 例如:
lstrcpy(?ptszDest,?ptszSrc );tcscpy( ptszDest, ptszSrc );
1.4类型转换(Casting)
尽量避免使用类型转换,因为编译器的类型检测不能检测到类型转换。
如果类型转换不能被避免, 则使用C++ 造型操作符:static_cast,、dynamic_cast、 reinterpret_cast 和 const_cast。 他们可以预防使用类型转换时部分产生的普遍问题。
1.5 指针 vs. 参数引用
使用参数引用可以减少,和排除返回的空指针, 虽然使用参数引用时会失去使用指针的灵活性,例如:重新在分配指针给不同的值.但是在很多案例里,使用参数引用时被鼓励的。
1.6 STL 和其他标准类
使用STL 好的测试类可以减少bug的产生,加快开发的速度,使用STL,如果编译器支持也可以使用ATL。
命名约定
命名规则主要采用匈牙利命名法,根据不同的对象做相应的调整。
2.1宏名
#define 定义的宏一律大写,宏名由一组能代表变量意义的词组成,当名称比较长时,中间以下划线 “_” 进行连接,如IMAGE_WIDTH。
2.2函数名
函数名一般由能代表函数意义的词组组成,其中每个词的第一个字母大写。
您可能关注的文档
最近下载
- 中国五声性调式和声研究 樊祖荫.pdf
- 2026中共曲靖市麒麟区委国有企业工作委员会曲靖市麒麟区区属国有企业招聘15人备考题库参考答案详解.docx VIP
- 旅游景区毕业论文景区游客满意度.doc VIP
- 2026届上海市浦东新区高三一模语文试卷及答案.doc VIP
- 2026中共曲靖市麒麟区委国有企业工作委员会曲靖市麒麟区区属国有企业招聘15人备考题库及参考答案详解.docx VIP
- DB34T 4180-2022农村公益性公墓建设规范.docx VIP
- 旅游景区游客满意度调查及提升策略研究--以乌镇为例.docx VIP
- 2026中共曲靖市麒麟区委国有企业工作委员会曲靖市麒麟区区属国有企业招聘15人备考题库及一套完整答案.docx VIP
- 2025年江苏省扬州市中考数学真题试卷含答案.pdf VIP
- 电磁场仿真软件:CST Microwave Studio二次开发_(12).VBA脚本开发.docx VIP
原创力文档

文档评论(0)