以前整理出来并在团队中推行的一份PHP编码规范,纸质的还在,电子版的居然找不到了,只好重新再整理一份。整理的过程中,忽然想到,这样的规范每个团队都不同,放在这里的意义不大,所以转而整理规范制定的思路。
在PHP的内部世界,一时骆驼峰、一时小写下划线,整个命名本身就是一个很混乱的状态。后来,PHP的官方团队逐渐整理出叫PEAR及Zend的编码规范,PEAR同时也是一套类似PERL语言中CPAN的代码仓库。有规范比没有规范好,但PEAR的核心特征包括Zend编码规范 - 类名形如 PEAR_Exception这样的写法,看似c式与骆驼峰式的结合体,但从书写繁琐程度来看,无疑是不太合理的。一般我们讨厌一个人或某个事物,往往只是一个原因就够了。
上面讲的是编码规范对代码书写便利程度的考量,接下来就是命名了。
引用DoitPHP框架编码规范中说的:
命名是程序规划的核心。古人相信只要知道一个人真正的名字就会获得凌驾于那个人之上的不可思议的力量。只要你给事物想到正确的名字,就会给你以及后来的人带来比代码更强的力量。
名字就是事物在它所处的生态环境中一个长久而深远的结果。总的来说,只有了解系统的程序员才能为系统取出最合适的名字。如果所有的命名都与其自然相适合,则关系清晰,含义可以推导得出,一般人的推想也能在意料之中。
命名不仅仅是为了让代码有更好的可读性,首先更是体现了编程人员对一个事物的认识程度。读过形形色色的代码,就会发现,写得好的代码就像一篇优美的文章,首要是语义准确、文法流畅;而写得没那么好的代码,则晦涩难懂。
已经有了编码规范概念的同学基本无需再看,可以往几个相关名词PEAR、phpDocumentor、CodeSniffer延伸关注即可。
以前参照的是网上流传的是清华BBS一篇2000年左右的帖子,现在在网上也是找不到了。本文主要内容来源于网络,经过作者自己实际经验整理改写。