linux程序规范,Linux编程规范(试行).pdf

Linux编程规范(试行)

Linux 编程规范

总纲

本手册的目的是为了规范编程习惯,本文提到的所有规则都是为了保证最终代码的易

读、易懂、易维护性等。

若出现文档中未提及的情况,需按照K&R 风格处理。

第一章 文件结构

第一条 用#include 格式来引用标准库的头文件。

第二条 用#include “filename.h”格式来引用非标准库的头文件。

第三条 自定义头文件中,要用#ifndef/#define/#endif 结构产生预处理块防止重复包含,并

且与#else 和#endif 对应的宏名要标记完整。

驱动程序及内核态程序如下所示:

#ifndef __JZ47XX_H__

#else /* __JZ47XX _H__ */

#endif /* Define __JZ47XX _H__ */

应用程序如下所示:

#ifndef JZ47XX_H

#else /* JZ47XX _H */

#endif /* Define JZ47XX _H */

第四条 头文件中不宜出现类似extern unsigned int reg_addr 的声明和变量定义。

第五条 应用程序单个.c 文件长度控制在500 行左右。

第六条 文件头的格式如下:

/*

* Copyright (c) Ingenic Semiconductor Co., Ltd.

*/

第二章 程序的版式

第一条 包含不同级别的头文件要用空行分割。

例如:

#include

#include

#include

#include “example.h”

第二条 每个函数定义结束之后都要加空行。

第三条 在一个函数体内,逻辑上密切相关的语句之间不加空行,其他地方加空行分隔。

第四条 缩进方式为一个TAB ,每个TAB 占用长度为八个字符,缩进级数不超过三级。

第五条 不要在同一行里放多个语句(包括赋值语句),不要在行尾留空格。

第六条 if、for、while 、do 等语句自占一行,执行语句不得紧跟其后。

第七条 关键字if, switch, case, for, do, while 等之后要加一个空格。函数名之后不要留空格,

紧跟左括号‘(’,以与关键字区别。‘(’向后紧跟,‘)’、 ‘,’、 ‘;’向前紧跟,

紧跟处不留空格。

在括号表达式内,不要在括号旁加空格。

比如:

s = sizeof(struct file);

不要写成

s = sizeof( struct file ); /* bad */

第八条 赋值操作符、比较操作符、算术操作符、逻辑运算符、位域操作符等二元操作符的

前后应当加空格。

第九条 一元操作符如“!”、 “~”,“++”、”--“等前后不加空格。

第十条 象“[] “、“.”、“->”这类操作符前后不加空格。

第十一条 代码行最大长度宜控制在70 至80 个字符以内。长度超过80 列的语句可以分

成几个有意义的片段,每个片段要明显短于原来的语句,并且放的位置也要明显的

靠右。

第十二条 花括号的位置采用K&R 风格,非函数语句块中(除函数定义外)起始大括号

放在行尾,结束大括号放在行首。结束大括号应独自占据一行,除非它后面跟着同

一个语句的剩余部分。如果执行体只有一条语句也必须加上{} ,方便后来调试程序

的人加打印。

第十三条 长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首。

第十四条 代码中需添加适量注释,应尽可能采用C89 注释风格/* */ 。注释应当准确、易

懂,保证注释和代码的一致性。

第十五条 代码应当在经常会被使用者修改的地方做明显的标记,并

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值