本文将一些常用的代码注释、命名等规范总结下,良好的代码规范不仅让自己便于修改阅读,对代码维护也是很重要的。
1. 版本和版本声明
版本和版本文件声明位于头文件和定义文件的开头,主要内容
(1)版本信息
(2)文件名称、标识符、摘要
(3)当前的版本号、作者、修改日期
(4)版本历史信息
可以利用VS插件自动生成,只需要自己填上作者的名字即可。
头文件一般格式:
/********************************************************************
created: 2014/09/27
created: 27:9:2014 10:58
filename: Win32Project1\BaseClass.h
file path: Win32Project1
file base: BaseClass
file ext: h
author: AT
purpose: 示例类,规范代码风格
*********************************************************************/
#ifndef _BASECLASS_H_
#define _BASECLASS_H_
2. 程序版式
(1)在每个类声明之后、每个函数定义之后都要加上一个空行
(2)一行代码只做一件事情
(3)if、for、while、do各占一行,执行语句不得紧跟其后,不论执行语句多少都加上{}
(4)尽量在定义一个变量的时候就初始化该变量
(5)程序分界符{和}必须独占一行并且左对齐
(6)代码长度不宜超过70至80个字符,超过之后拆成新行,操作符放在新行之首
(7)应该把*和&修饰符靠近变量名,例如int *x = &a
(8)类中建议先把public类型写在前面,再写private类型
3. 命名规则
(1)类名和函数名要用大写字母开头单词组成
(2)变量和参数要使用小写字母开头单词组成
(3)常量全用大写字母,用下划线分割单词
(4)静态变量加上前缀s_,例如static int s_num
(5)全局变量加上前缀g_,例如int g_num
(6)类的数据成员前面加上m_,可以和成员函数和静态成员区分开
4. 表达式和基本语句
(1)不可将bool值直接和true、false、0、1进行比较。如果flag是bool类型,直接if(flag)这样判断即可
(2)整型变量应该要直接和0比较,比如num为整型变量,if(num == 0)
(3)不可将浮点型变量直接用 == 和 !=来进行比较
(4)指针变量要直接和NULL进行比较,例如p为指针变量,if(p != NULL)
5. 函数设计
(1)函数参数的书写要完整,如果没有参数,用void填补
(2)如果参数有指针,并且该指针只是读取作用应该要加上const,防止指针意外修改
(3)在函数的内部入口应该要对参数的有效性进行检查
(4)函数的功能要单一,不要设计多用途的函数
(5)函数体的规模要小,控制在50行代码
6. 内存管理
(1)malloc和new申请内存之后,应该要立即检查指针是否为NULL,防止使用指针值为NULL的内存。
(2)要对数组和动态内存赋初值,防止将未初始化的内存作为右值使用
(3)用free或delete释放了内存之后,立即将指针指向NULL,防止产生野指针。