原创 单片机编程规范(适合于单片机编程工程师)2

2014-8-14 14:15 1421 23 23 分类: MCU/ 嵌入式 文集: 单片机编程规范

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条评论)

登录后参与讨论
我要评论
0
23
关闭 站长推荐上一条 /2 下一条