从Linux Kernel Coding Style看php代码规范


从Linux Kernel Coding Style看php代码规范

Linux内核的编码是一种极端情况。

需要清晰明朗以供全世界的开发者学习、修改,对代码的质量要求较高。

相信linus大神在长期接触各种各式代码后脾气会变得更暴躁,就比如前段时间在某论坛痛斥C++。。。

节选,去除不适合PHP程序员阅读的部分。

如果你开发PHP程序的核心代码,比如框架,尤其建议好好思考。

虽然,它和一些权威的代码规范比如discuz和zend的有所冲突,但是依然能从中受益。

linux kernel coding style (针对PHPer作了节选)

linux kernel coding style的中文译者:

中文版维护者: 张乐 Zhang Le

中文版翻译者: 张乐 Zhang Le

中文版校译者: 王聪 Wang Cong

wheelz

管旭东 Xudong Guan

Li Zefan

Wang Chen 

第一章:缩进

制表符是8个字符,所以缩进也是8个字符。有些异端运动试图将缩进变为4(乃至2)个字符

深,这几乎相当于尝试将圆周率的值定义为3。

理由:缩进的全部意义就在于清楚的定义一个控制块起止于何处。尤其是当你盯着你的屏幕

连续看了20小时之后,你将会发现大一点的缩进会使你更容易分辨缩进。

现在,有些人会抱怨8个字符的缩进会使代码向右边移动的太远,在80个字符的终端屏幕上

就很难读这样的代码。这个问题的答案是,如果你需要3级以上的缩进,不管用何种方式你

的代码已经有问题了,应该修正你的程序。

在switch语句中消除多级缩进的首选的方式是让“switch”和从属于它的“case”标签对齐于同

一列,而不要“两次缩进”“case”标签。比如:

C++代码
  1. switch (suffix) {   
  2. case 'G':   
  3. case 'g':   
  4.         mem <<= 30;   
  5.         break;   
  6. case 'M':   
  7. case 'm':   
  8.         mem <<= 20;   
  9.         break;   
  10. case 'K':   
  11. case 'k':   
  12.         mem <<= 10;   
  13.         /* fall through */  
  14. default:   
  15.         break;   
  16. }  

不要把多个语句放在一行里,除非你有什么东西要隐藏:

C++代码
  1. if (condition) do_this;   
  2.   do_something_everytime;  

也不要在一行里放多个赋值语句。内核代码风格超级简单。就是避免可能导致别人误读的表

达式。

除了注释、文档和Kconfig之外,不要使用空格来缩进,前面的例子是例外,是有意为之。

选用一个好的编辑器,不要在行尾留空格。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 下一页

相关内容