- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux Kernel Coding Style
/doc/Documentation/CodingStyle
Linus Torvalds
翻译:billwangwl (bill.liangwlw@, /billwangwl)
这是一篇简短的描述Linux 内核推荐使用的代码风格。代码风格是一个非常个人的事情,
我不想强迫给任何人我的观点,但是,我维护的任何代码都是这个风格,我也希望其他人的
代码也是同样的风格。所以,请考虑这里所说的风格。
首先,我建议你打印一份GNU Coding Standards,不要读。烧掉他们,这是一个很棒的
姿态。
接下来我们继续:
第一章 缩进
Tab是8个字符,这样缩进也应该是8个字符。有些异教徒把缩进搞成4个字符,或者2个
字符,这就和把PI定义为3一样。
原因:用8个字符的缩进就是为了能够清楚的看出一个代码块的开始和结束。特别是你
盯着你的屏幕已经20小时了,大的缩进更容易分辨出代码块。
有人说8个字符的缩进会让代码距离行首太远,在80个字符的屏幕上比较难以阅读。答
案是,如果你需要超过3层的缩进,你的代码写烂了,需要修改你的代码了。
简短来说,8个字符的缩进可以让阅读更加容易,并且会提醒你,你的代码是不是嵌套
太深了。
switch语句推荐的通过让swith和case对齐来减少缩进,比如:
switch (suffix) {
case G:
case g:
mem = 20;
break;
case e:
me
2013-4-9 第1 页, 共16 页
/* fall through */
default:
break;
}
不要把多个语句放在一行来处理,除非你有意要隐藏一些事情:
if (condition) do_thing;
do_someting_everytime;
不要把多个赋值语句放在一行。内核的编码风格很简单,避免有混淆的表达式。
空格只能用于注释。文档的缩进和Kconfig也应该用tab缩进。以上例子是故意用空格的。
使用一个好的编译器,不用在行末留白。
第二章,划分长的行和字符串
好的编码风格就是用通用的工具来让代码更具可读性和可维护性。
强烈推荐每行80个字符的限制。
超过80字符限制的语句需要被划分为短行。划分的后续的行大体上要比第一行短,挨着
右侧对齐。同样的,这个办法也适用于有比较长的参数列表的函数头。长的字符串也应该按
照这个办法来划分。唯一的例外是划分80个字符会降低可读性,而且会隐藏信息。
void fun(int a, int b, int c)
{
if (condition)
printk(KERN_WARNING Wang this is a long printk with
3 parameters a :%u b: %u
c %u\n, a, b, c);
else
next_statements;
2013-4-9 第2 页, 共16 页
}
第三章:括号和空格的位置
另一个和C紧密相关的问题是括号的位置。和缩进不同的是,不管选择如何放置括号
您可能关注的文档
最近下载
- GZ072 飞机维修赛项正式赛卷B2‘ -评分标准-2023年全国职业院校技能大赛赛项正式赛卷.pdf VIP
- 餐厅问题及解决方案总结.pptx
- 金城江区侧岭乡拉合石英砂岩矿项目环境影响报告书.docx VIP
- 楼上漏水双方协议书范本(6篇).docx VIP
- 大学物理(上)习题集剖析.ppt VIP
- 学堂在线 中国建筑史——元明清与民居 章节测试答案.docx VIP
- 接地体安装、回填、电阻测试检验批质量验收表(续表).doc VIP
- 电子技术课程设计报告---- 峰值检测系统.doc VIP
- GZ072 飞机维修赛项A模块评分标准A3(后台评分表)-2023年全国职业院校技能大赛赛项正式赛卷.pdf VIP
- GZ072 飞机维修赛项A模块评分标准A3(现场评分表)-2023年全国职业院校技能大赛赛项正式赛卷.pdf VIP
原创力文档


文档评论(0)