码迷,mamicode.com
首页 > 其他好文 > 详细

kernel编程规范

时间:2014-06-18 10:33:56      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:使用      代码      for   type   

 

1. 制表符8个空格
2. 每行最长80字符
3. 代码块的{放在首行,但是函数的{放在次行
4. 只有一行的if块,不加{}
5. 不在()前后加空格
6. 正常关键字后加一个空格,if, switch, case, for, do, while
7. 但是不要在sizeof、typeof、alignof或者__attribute__这些关键字之后放空格
8. 指针*号,靠近变量名,而不是靠近类型名
9. 操作符前后使用一个空格
10. 除非是可能32位,可能64位的情况类似场景下,使用typedef
11. 使用goto做函数集中式的退出
12. 宏请大写,但是形如函数名的宏小写
13. 相关常量请用枚举

14. 含有多个语句的宏应该被包含在一个do-while代码块里:
#define macrofun(a, b, c) \
do { \
if (a == 5) \
do_this(b, c); \
} while (0)

15. 1) 影响控制流程的宏:

#define FOO(x) \
do { \
if (blah(x) < 0) \
return -EBUGGERED; \
} while(0)

非常不好。它看起来像一个函数,不过却能导致“调用”它的函数退出;不要打乱读者大脑里
的语法分析器。

16. 2) 依赖于一个固定名字的本地变量的宏:

#define FOO(val) bar(index, val)

可能看起来像是个不错的东西,不过它非常容易把读代码的人搞糊涂,而且容易导致看起来
不相关的改动带来错误。

17. 不要重复发明内核宏
数组大小
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
类似的,如果你要计算某结构体成员的大小,使用
#define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f))

 

kernel编程规范,布布扣,bubuko.com

kernel编程规范

标签:使用      代码      for   type   

原文地址:http://www.cnblogs.com/unixshell/p/3793169.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!