程序代码注释编写规范 为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。 一般情况下,源程序有效注释量必须在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写入初值.注意:与溢出中断写初值不同 本文来源:https://www.wddqw.com/doc/045fe58cd0d233d4b14e69ca.html