2012-10-07 39 views
14

我是内核编程的新手,所以我想知道哪种编码风格更可接受。例如,如果出现错误处理,以下哪项更好?Linux内核编码风格

这一个:

/* some stuff */ 
if(error) { 
    /* error handling */ 
    return -(errorcode); 
} 
/* normal actions */ 

或者这一个:

/* some stuff */ 
if(!error) { 
    /* normal actions */ 
} else { 
    /* error handling */ 
    return -(errorcode); 
} 

我在哪里可以找到任何文件,即关于内核编码标准?

+12

http://www.kernel.org/doc/Documentation/CodingStyle – ouah

+0

@ouah使这是一个答案) – Alex

+1

而要细说ouah的殊胜回复:你的第一个片段是第二个“首选”。但重点是使用K&R风格(与.Net或Java或 - 天堂禁止 - MS“匈牙利”编码风格);) – paulsm4

回答

26

Linux内核编码风格指南:

https://www.kernel.org/doc/Documentation/process/coding-style.rst

关于你的榜样,我个人比较喜欢的第一个样式。随着第二风格你很快就会违反此Linux内核的样式规则(内核风格有8个字符的缩进):

如果你需要3级以上的缩进,你就有点犯糊涂的了,应该修正你的 程序。

从上到下(而不是水平)编写代码有时被称为duffing。我可以建议你关于这个问题的这个优秀的阅读:

Reading Code From Top to Bottom

+0

感谢您参考阅读代码从顶部到底部的文章。这确实是一个很好的例子。 –