程序代码注释编写规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序代码注释编写规范
XXX份公司
为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。
一般情况下,源程序有效注释量必须在20%以上,注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。
常规注释有以下两种方式。
单行:以"//"符号开始,任何位于该符号之后的本行文字都视为注释。
多行:以"/*"符号开始,以"*/"结束。任何介于这对符号之间的文字都视为注释。
一、说明性文件
说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。
示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。
/*************************************************
COPYRIGHT (C), MicTiVo International. Co., Ltd.
File NAME: // 文件
Author:
Version:
Date: // 作者、版本及完成日期
DESCRIPTION: // 用于详细说明此程序文件完成的主要功能,与其他模块
// 或函数的接口,输出值、取值范围、含义及参数间的控
// 制、顺序、独立或依赖等关系
Others: // 其它内容的说明
Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明
1....
History: // 修改历史记录列表,每条修改记录应包括修改日期、修改
// 者及修改内容简述
1. Date:
Author:
Modification:
2. ..
*************************************************/
二、源文件头
源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。
示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。
/************************************************************
COPYRIGHT (C), MicTiVo International. Co., Ltd.
FileName:
Author:
Version :
Date:
DESCRIPTION: // 模块描述,描述本文件的内容、功能、内部各部分之间的关系及
//本文件与其它文件关系等
Version: // 版本信息
Function List: // 主要函数及其功能
1.-------
History: // 历史修改记录
**********************************************************/
三、函数
函数头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回值、调用关系(函数、表)等。
示例:下面这段函数的注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。
/*************************************************
Function: // 函数名称
DESCRIPTION: // 函数功能、性能等的描述
Calls: // 被本函数调用的函数清单
Called By: // 调用本函数的函数清单
Table Accessed: // 被访问的表(此项仅对于牵扯到数据库操作的程序)Table Updated: // 被修改的表(此项仅对于牵扯到数据库操作的程序) Input: // 输入参数说明,包括每个参数的作
// 用、取值说明及参数间关系。
OUTPUT: // 对输出参数的说明。
Return: // 函数返回值的说明
Others: // 其它说明
*************************************************/
四、变量寄存器
标志变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。
示例:
Unsigned char receive_floag; //接收标志;
/* 0—接收失败, 1—接收成功, 2—…….*/
/*receive _process() */ //调用函数Unsigned char receive_data[10]; //数据接收存储器;
/*在receive _bit() 中对其赋值*/ //调用函数
五、控制寄存器
在对控制器控制寄存器进行操作时,需注明该寄存器功能,配置参数作用,以及配置时的注意事项等的说明。
示例:(PIC单片机定时器控制)
void time0_init(void)
{
T0CON=0X09; //设定TMR0工作于16位定时器方式,内部时钟,不分频
INTCON=INTCON|0X20; //TMR0中断允许
INTCON=INTCON&0Xfb; //清除TMR0的中断标志
INTCON=INTCON|0xc0; //* 开总中断、开外围接口中断
TMR0H= 0xaa;
TMR0L= 0xaa; // 对TMR0写入初值.注意:与溢出中断写初值不同
}