c语言程序设计 南京工业大学,5.南京工业大学嵌入式C语言编程规范_v2.4.pdf

5.南京工业大学嵌入式C语言编程规范_v2.4.pdf

自动化与电气工程学院

嵌入式C 语言编程规范

日期 2013-12-31

版本 V2.4

整理 王晓荣

一、规范说明

本规范作为南京工业大学自动化与电气工程学院教师、学生从事嵌入式C 语言等相关开发

工作的编程规范。带有索引性质,力求简洁明了,请遵照此规范进行嵌入式C 语言编程教学和

学习。

二、命名规则

 通用命名规则

1. 移植代码和修改部分代码时,保持原命名风格。

2. 目录名、文件名、函数名、参数名、变量名等,如果无特殊的需求(如果是引用其他地方,

可以保留相应的名称) ,均采用Uinx 风格:“全小写 + 下划线”(特别注明除外)。

说明:

不同系统对文件名大小写处理不同(MS 的DOS 、Windows 不区分大小写,但是Linux

系统则区分),所以代码文件命名建议统一采用全小写字母命名。

示例:

3. 禁止使用单字节命名变量,但允许定义i、j 、k 作为局部循环变量。

4. 除了常见的通用缩写 (附录A)以外,不使用单词缩写,不得使用汉语拼音。

5. 用正确的反义词组 (附录B)命名具有互斥意义的变量或相反动作的函数等。

 变量名

6. 全局变量和全局静态变量添加前缀。

说明:

全局变量十分危险,能不用则不用,不得不用时,通过前缀使得全局变量更加醒目,

促使使用时更加小心。

单个文件内部使用全局变量,应加static 关键字进行封装,变成全局静态变量

示例:

 变量类型

7. 基本变量类型用typedef 按以下形式定义(移植或修改的文件,保持原风格):

8. 非基本变量类型,如结构、指针、枚举、共同体不得使用typedef 形式定义,(移植或修改

的文件,保持原风格)。规范的使用方法如下示例。

说明:

使用 typedef 会隐藏这个变量实际上是什么类型,在传递参数会增加出错概率。

示例:

结构体声明与定义: 枚举类型声明与定义:

 宏、枚举成员命名

9. 宏、枚举成员采用:“全大写 + 下划线”形式。

示例:

注:除了头文件或编译开关等特殊标识定义,宏定义不能使用下划线“_”开头和结尾。

三、程序格式

10. 程序块采用缩进风格编写,每级缩进为4 个空格。

说明:

将编辑器的TAB 键设置为自动转4 个空格输入,这样可以防止程序在别的编辑器内打

开时原先的格式排版失效。(若干软件相关设置见附录C )

11. 每个“{”符号后都应缩进,唯一例外是switch-case 语句中,case 和default 应与“{”对齐

示例:

注:switch 语句必须有default 分支。

12. 相对独立的程序块之间、变量说明之后必须加空行。

示例:

不规范格式: 规范格式:

13. 每行语句 > 80 个字符要拆分换行 (注释除外)。

说明:

 换行时要增加一级缩进,使代码可读性更好;

 低优先级操作符处划分新行;换行时操作符应该也放下来,放在新行首;

 换行时建议一个完整的语句放在一行,不要根据字符数断行

示例:

14. 二元操作符,如:赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符, 如

“= ”、 “+= ”、 “>= ”、 “<= ”、 “+ ”、 “- ”、 “*”、 “/ ”、 “% ”、 “&& ”、 “||”、

“<< ”、 “>> ”、 “^”等的前后都加空格。

15. 一元操作符,如:“!”、 “~ ”、 “++ ”、 “-- ”、 “& ”(地址操作符),以及关系密切的

立即操作符 (如“-> ”、 “. ”)等前后都

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值