注释说明(一般情况下,源程序有效注释量必须在20%以上)
1. 说明性文件注释说明(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。
/************************************************************************
版权所有 (C), 2010-2011, XX技术有限公司
*************************************************************************
文 件 名 : 文件名
作 者 : 作者姓名
版 本 号 : 初稿 (1.0)
生成日期 : 2014年5月18日19:20:29
功能描述 : 用于详细说明此程序文件完成的主要功能,
与其他模块或函数的接口,输出值、取值范围、含义及参数间的控制、顺序、独立或依赖等关系
其 它 : 其它内容的说明
函数列表 : 主要函数列表,每条记录应包括函数名及功能简要说明
1. ...
2. ...
修改历史 : 修改历史记录列表,每条修改记录应包括修改日期、修改者及修改内容简述
1.日 期 : 修改的时间
作 者 :修改的作者
修改内容 : 修改的内容
2. ...(二次修改)
************************************************************************/
2. 实现文件的注释说明列出版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。
其注释形式跟上面的说明性的文件的形式几乎一样,但是需要注意的是功能描述的说明:
这里的说明是,描述本文件的内容、功能、内部各部分之间的关系及本文件与其它文件关系等。
3. 函数的注释说明函数头部应进行注释,列出:函数的目的/ 功能、输入参数、输出参数、返回值、调用关系(函数、表)等。
/************************************************************************
函 数 名 : 函数名称
功能描述 : 函数功能、性能等的描述
输入参数 : 输入参数说明,包括每个参数的作用、取值说明及参数间关系。
输出参数 : 对输出参数的说明。
返 回 值 : 函数返回值的说明
调用函数 : 被本函数调用的函数清单
被调函数 : 调用本函数的函数清单
其 它 : 其它说明
Table Accessed : 被访问的表(此项仅对于牵扯到数据库操作的程序)
Table Updated : 被修改的表(此项仅对于牵扯到数据库操作的程序)
修改历史 :
1.日 期 : 2010年1月21日
作 者 :
修改内容 : 新生成函数
************************************************************************/
4. 注释一般应该注意的几点(1).边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。
(2).注释的内容要清楚、明了,含义准确,防止注释二义性。
说明:错误的注释不但无益反而有害。
(3).注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开。
(4).数据结构声明(包括数组、结构、类、枚举等),如果其命名不是充分自注释的,必须加以注释。对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的注释放在此域的右方。
(5).全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。
(6).注释与所描述内容进行同样的缩排。
(7).将注释与其上面的代码用空行隔开。
(8).对变量的定义和分支语句(条件分支、循环语句等)必须编写注释。