6.3 函数注释
6.3.1 函数头部注释
函数头部注释应包括函数名称、函数功能、入口参数、出口参数等内容.如有必要还可增加作者、创建日期、修改记录(备注)等相关项目.
函数头部注释放在每个函数的顶端,用"/*……*/"的格式包含.其中函数名称应简写为FunctionName(),不加入、出口参数等信息.
/***********************************************************
函数名称:
函数功能:
入口参数:
出口参数:
备 注:
***********************************************************/
6.3.2 代码注释
代码注释应与被注释的代码紧邻,放在其上方或右方,不可放在下面.如放于上方则需与其上面的代码用空行隔开.一般少量注释应该添加在被注释语句的行尾,一个函数内的多个注释左对齐;较多注释则应加在上方且注释行与被注释的语句左对齐.
函数代码注释用"//…//"的格式.
通常,分支语句(条件分支、循环语句等)必须编写注释.其程序块结束行"}"的右方应加表明该程序块结束的标记"end of ……", 尤其在多重嵌套时.
6.4 变量、常量、宏的注释
同一类型的标识符应集中定义,并在定义之前一行对其共性加以统一注释.对单个标识符的注释加在定义语句的行尾.
全局变量一定要有详细的注释,包括其功能、取值范围、哪些函数或过程存取它以及存取时的注意事项等.
注释用"//…//"的格式.
7 单片机C51编程规范-函数
7.1 设计原则
函数的基本要求:
l 正确性:程序要实现设计要求的功能.
l 稳定性和安全性:程序运行稳定、可靠、安全.
l 可测试性:程序便于测试和评价.
l 规范/可读性:程序书写风格、命名规则等符合规范.
l 扩展性:代码为下一次升级扩展留有空间和接口.
l 全局效率:软件系统的整体效率高.
l 局部效率:某个模块/子模块/函数的本身效率高.
编制函数的基本原则:
l 单个函数的规模尽量限制在200行以内(不包括注释和空行).一个函数只完成一个功能.
l 函数局部变量的数目一般不超过5~10个.
l 函数内部局部变量定义区和功能实现区(包含变量初始化)之间空一行.
l 函数名应准确描述函数的功能.通常使用动宾词组为执行某操作的函数命名.
l 函数的返回值要清楚明了,尤其是出错返回值的意义要准确无误.
l 不要把与函数返回值类型不同的变量,以编译系统默认的转换方式或强制的转换方式作为返回值返回.
l 减少函数本身或函数间的递归调用.
l 尽量不要将函数的参数作为工作变量.
7.2 函数定义
l 函数若没有入口参数或者出口参数,应用void明确申明.
l 函数名称与出口参数类型定义间应该空一格且只空一格.
l 函数名称与括号()之间无空格.
l 函数形参必须给出明确的类型定义.
l 多个形参的函数,后一个形参与前一个形参的逗号分割符之间添加一个空格.
l 函数体的前后花括号"{}" 各独占一行.
7.3 局部变量定义
l 同一行内不要定义过多变量.
l 同一类的变量在同一行内定义,或者在相邻行定义.
l 先定义data型变量,再定义idtata型变量,再定义xdata型变量.
l 数组、指针等复杂类型的定义放在定义区的最后.
l 变量定义区不做较复杂的变量赋值.
7.4 功能实现区规范
l 一行只写一条语句.
l 注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级.
l 各程序段之间使用一个空行分隔,加以必要的注释.程序段指能完一个较具体的功能的一行或多行代码.程序段内的各行代码之间相互依赖性较强.
l 不要使用难懂的技巧性很高的语句.
l 源程序中关系较为紧密的代码应尽可能相邻.
l 完成简单功能、关系非常密切的一条或几条语句可编写为函数或定义为宏.
文章评论(0条评论)
登录后参与讨论