- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式C编码规 V0.1
目 录
1 前言 3
2 编码规范正文 3
2.1格式 3
2.1.1 空行的使用 3
2.1.2 空格的使用 3
2.1.4 缩进 3
2.1.5 长语句的书写格式 3
2.1.6 清晰划分控制语句的语句块 4
2.1.7 一行只写一条语句,一行只声明、定义一个变量 4
2.1.8 在表达式中使用括号 4
2.1.9将操作符“*”、“”和变量名写在一起 5
2.2注释 5
2.2.1 对函数进行注释 5
2.2.2 对文件进行注释 6
2.2.3 给出确认性注释 6
2.2.4 其它应该考虑进行注释的地方 6
2.2.5 行末注释尽量对齐 7
2.2.6 块注释 7
2.2.7 注释量 7
2.3 命名 7
2.3.1 标识符命名要求 7
2.3.2 标识符长度要求 8
2.3.3 文件命名要求 8
2.4语句 9
2.4.1赋值操作符约束 9
2.4.2 赋值表达式中的规定 9
2.4.3 禁用goto语句, 尽量少用break和continue 10
2.4.4 避免对浮点数值类型做精确比较 10
2.4.5 malloc 和 free 10
2.4.6 对switch语句中每个分支结尾的要求 10
2.4.7指针的初始化、使用和释放 10
2.5函数 11
2.5.1 明确函数功能,将重复使用的代码编写成函数 11
2.5.2 尽量保持函数只有唯一出口, 为函数指定返回值 11
2.5.3 函数声明和定义的格式要求 11
2.5.4 在函数调用语句中不要使用赋值操作符 11
2.5.5 保护可重入函数中的全局变量 12
2.6程序组织 12
2.6.1 头文件中只包含声明,不应包含定义 12
2.6.2 可被包含的文件及头文件的格式 13
2.7 公共变量 13
2.7.1 严格限制公共变量的使用 13
2.7.2 明确公共变量的定义 13
2.7.3 防止公共变量与局部变量重名 13
2.8 宏 13
2.8.1避免使用不易理解的数字,用有意义的宏来替代 13
2.8.2 括号在宏中的使用 14
2.9 其它 14
2.9.1 将不再使用的代码删掉 14
2.9.2 死循环 14
2.9.3 简短语句使用宏或inline 14
2.9.4 不要使用难懂的技巧性很高的语句 15
1 前言
C程序的格式、注释、标识符命名、语句使用、函数、程序组织、公共变量等方面做出了要求。规范分为两个级别——规则和建议。规则级的规范要求开发人员必须要遵守,建议级的规范开发人员应尽量遵守。
2 编码规范正文
2.1格式
2.1.1 空行的使用
规则描述:
● 在头文件和实现文件中,各主要部分之间要用空行隔开。所谓文件的主要部分包括:序言性注释、防止被重复包含部分(只在头文件中)、#include部分、#define部分、类型声明和定义部分、实现部分等等。
● 在一个函数中,完成不同功能的部分,要用空行隔开。
2.1.2 空格
规范级别:规则
规则描述:
● 在使用赋值运算符、逻辑运算符、位运算符、算术运算符等二元操作符时,在其两边各加一个空格。例: nCount = 2;而不是? nCount=2;
●?函数的各参数间要用“,”和一个空格隔开。
例:void? GetDate(int x, int y);
而不是void? GetDate(int x,int y) 或void? GetDate(int x ,int y)。
● 不要在引用操作符前后使用空格,引用操作符指“.”和“-”,以及“[]”。例:pFont-CreateFont();而不是?pFont - CreateFont()。
● 不要在一元操作符和其操作对象之间使用空格,一元操作符包括“++”、“--”“!”、“”“*”等。
2.1.4 缩进
规则描述:
对程序语句要按其逻辑以4个空格为单位进行水平缩进,使同一逻辑层次上的代码在列上对齐。不允许使用Tab进行缩进。
2.1.5 长语句的书写格式
规则描述:
较长的语句要分成多行书写。长表达式要在低优先级操作符处分新行,操作符放在新行之首,划分出的新行要进行适当的缩进。例:
nCount = fun1(n1, n2, n3)
+ (nNumber1 * GetDate(n4, n5, n6)) * nNumber1;
2.1.6 清晰划分控制语句的语句块
规则描述:
控制语句(if , for , while , do...while)的语句部分一定要用 ‘{ ’和‘ }’括起来(即使只有一条语句),并且‘{ ’和‘ }’应处在同一列上。例:
if (x == 0)
{
x++;
}
else
{
while (x min)
{
x
文档评论(0)