2020年 07月 16日 星期四
您的位置: 威廉希尔主页 > 单片机技术 >

51单片机C语言学习笔记8:单片机C51编程规范

来源:未知     作者:威廉希尔     发布时间:2020-07-14 09:46         

  l命名要清晰明了,有明确含义,使用完整单词或约定俗成的缩写。通常,较短的单词可通过去掉元音字母形成缩写;较长的单词可取单词的头几个字母形成缩写。即见名知意。

  宏和常量用全部大写字母来命名,词与词之间用下划线分隔。对程序中用到的数字均应用有意义的枚举或宏来代替。

  变量名用小写字母命名,每个词的第一个字母大写。类型前缀(u8s8 etc.)全局变量另加前缀g_。

  修改文件代码时,应在文件注释中记录修改日期、修改人员,并简要说明此次修改的目的。所有修改记录必须保持完整。

  函数头部注释应包括函数名称、函数功能、入口参数、出口参数等内容。如有必要还可增加作者、创建日期、修改记录(备注)等相关项目。

  函数头部注在每个函数的顶端,用/**/的格式包含。其中函数名称应简写为FunctionName(),不加入、出口参数等信息。

  代码注释应与被注释的代码紧邻,放在其上方或右方,不可放在下面。如放于上方则需与其的代码用空行隔开。一般少量注释应该添加在被注释语句的行尾,一个函数内的多个注释左对齐;较多注释则应加在上方且注释行与被注释的语句左对齐。

  通常,分支语句(条件分支、循环语句等)必须编写注释。其程序块结束行}的右方应加表明该程序块结束的标记end of ,尤其在多重嵌套时。

  同一类型的标识符应集中定义,并在定义之前一行对其共性加以统一注释。对单个标识符的注释加在定义语句的行尾。

  全局变量一定要有详细的注释,包括其功能、取值范围、哪些函数或过程存取它以及存取时的注意事项等。

  l不要把与函数返回值类型不同的变量,以编译系统默认的转换方式或强制的转换方式作为返回值返回。

  l各程序段之间使用一个空行分隔,加以必要的注释。程序段指能完一个较具体的功能的一行或多行代码。程序段内的各行代码之间相互依赖性较强。

  过长的语句(超过80个字符)要分成多行书写;长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进适当的缩进,使排版整齐,语句可读。避免把注释插入分行中。

  在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符前后均加一个空格;在两个以上的关键字、变量、常量进行非对等操作时,其前后均不应加空格;

  双目操作符,如比较操作符,赋值操作符=、+=,算术操作符+、%,逻辑操作符&&、&,位操作符

  <

  <、^等,前后均加一个空格;

  l if、else if、else、for、while语句无论其执行体是一条语句还是多条语句都必须加花括号,且左右花括号各独占一行。

  l每个case程序块需用break结束。特殊情况下需要从一个case块顺序执行到下一个case块的时候除外,但需要在交界处明确注释如此操作的原因,以防止出错。

  l有main()函数的.c文件应将main()放在最前面,并明确用void声明参数和返回值。

  l对由多个.c文件组成的模块程序或完整程序,建立公共引用头文件,将需要引用的库头文件、标准寄存器定义头文件、自定义的头文件、全局变量等均包含在内,供每个文件引用。通常,标准函数库头文件采用尖角号标志文件名,自定义头文件采用双撇号标志文件名。

  l每个.c文件有一个对应的.h文件,.c文件的注释之后首先定义一个唯一的文件标志宏,并在对应的.h文件中解析该标志。

      威廉希尔