admin 管理员组文章数量: 1086019
2024年3月14日发(作者:openstack和vmware是两个东西吧)
Linux C语言的编程规范
(Linux)有独特的(编程)风格,在内核源代码目录
Documentation/CodingStyle,详细描述代码风格。
建议大家可以去看一下,老外写技术文档还是很有意思的,上
来就狂喷,“你不这样写就会完蛋,异教徒才不这样写……”,没有国
内那么刻板,多阅读英语文档对技术增长很有帮助。
1. 命名规范
在一般编程中,习惯以如下方式命名宏、变量和函数:
#define (PI) 3.1415926 /*用大写字母代表宏 */int minValue,
maxValue; /*变量:第一个单词全小写,其后单词的第一个字母大写
*/void SendData (void); /* 函数:所有单词第一个字母都大写 */
这种通过单词之间通过首字母大写来区分的方式非常流行。通过第1
个单词的首字母是否大写可以区分名称属于变量还是属于函数,而看
到整串的大写字母可以断定为宏。
许多领域的程序开发都遵照此习惯。
但是Linux不以这种习惯命名,对于上面的一段程序,在Linux中
它会被命名为:
#define PI 3.1415926int min_value, max_value;void send_data
(void); 在上述命名方式中,宏还是一样用大写,但变量和函数名,
不按照Windows所采用的用首字母大写来区分单词,而是采用下划
第 1 页 共 6 页
线。而且Linux下命名,全局变量命名最好用长的准确的描述,局部
变量最好简短,甚至直接用tmp,i之类的。
其实两种命名方式都行,写Liunx下的程序时,与Linux社区代
码风格一致更好,但你用第一种我觉得也无伤大雅。
2.缩进
缩进统一使用"TAB",而不是空格括号。
另外提一句:在Linux下,"TAB"代表8个字符,而不是4个,
Linux代码风格认为8个字符更能体现层次结构。文档里喷"TAB"为4
字符的是异教徒,对于8字符在多层次时,代码太偏右的问题,文档
又喷层次超过三层,你的代码就会完蛋,哈哈哈。
为了减少层次,在switch/case语句方面, Linux 建议switch和
case对齐,例如:
switch (suffix) {case 'G':case 'g': mem 3. Linux中
代码括号“{”和“}”的使用原则
1)对于结构体、if/f(or)/while/switch语句, “{”不另起一行,例如:
struct var_data { int len; char data[0];};if (a
== b) { a = c; d = a;}for (i = 0; i 2)如果if、for
循环后只有1行,不要加“{”和“}”,例如:
for (i = 0; i 应该改为:
for (i = 0; i if和else混用的情况下, else语句不另起一行,例如:
if (x == y){ ...} else if (x > y) { ...} else
{ ...} 4)对于函数, “{”另起一行,例如:
第 2 页 共 6 页
版权声明:本文标题:Linux C语言的编程规范 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1710391172a570975.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论