PHP垃圾代码的特征介绍
如果你对要修改的软件并不熟悉,那我建议你还是先好好看看这个软件之后再作决定。那么如何能够不作深入研究就能认定这是垃圾代码呢?这里给出10个PHP垃圾代码的征兆,以供参考。
PHP垃圾代码1、试图改造面向对象模型,或是修改某个PHP语言特性
如果你发现一个类名为Object,那很有可能这个软件的作者试图改造面向对象模型(很可能是因为他自己对面向对象并不了解),从而我们可以预料他所作的修改不仅限于此。遇到这种情况,还是快快关掉你的电话躲起来吧!
PHP垃圾代码2、含有自定义的全局变量
查找代码中的global关键字或$GLOBALS变量,如果发现以下代码:
global $database, $my, $mainframe;
这就是臭名昭著的全局变量。如果你能告诉后两个全局变量代表什么,那么我猜你对我的代码很熟悉,或者你有超自然的力量。如果你还能告诉我哪些代码会用到他们,那就太神奇了!总之,离它远点。
PHP垃圾代码3、随处可见的HTML和SQL
找找代码中的HTML代码和SQL语句,你应该能够很快地辨别这些代码是否应该出现在这里。如果你发现一个文件里既有HTML又有SQL,那恭喜你,你发现了最烂的软件!
PHP垃圾代码4、过于臃肿的类
查找最大的三个类文件,看看类的名称是否有清晰的职能?再看看它的方法,是否互相有关联?如果不是,尖叫着离开吧!
PHP垃圾代码5、大量的公开变量或静态变量
如果你发现很多变量被定义为“public static”,那就把你的报价提高三倍吧。原因我就不用解释了。
PHP垃圾代码6、多层继承关系
我们应该尽量避免两层以上的继承关系。我曾花费大量时间处理拥有过多不相关行为的对象。如果你知道多层继承有什么用处,我会请你喝啤酒的。
PHP垃圾代码7、试图使用设计模式(只是试图)
要知道代码的作者是否使用设计模式,只需要检索最常用的几个就可以了,如factory(工厂模式),decorator(装饰模式),strategy(策略模式)等。如果有,那你也能很快的识别作者是否真的会使用这些设计模式,或者只是想让代码看起来有趣些。如果是后者,那就快快离开吧。
PHP垃圾代码8、不同错误级别下的程序紊乱
一个完好的应用程序应该在各个错误级别下都能正常运行。用/error_level(.*)/查找代码是否修改了错误级别。如果有,改为E_STRICT再运行一下看看。
PHP垃圾代码9、有个叫core的目录
当整个应用程序都要依靠某些代码才能运行时,把这堆代码放入一个叫core的目录里会是个不错的方法。但是,除了目录的名字好听些,这种方法往往预示着糟糕的设计。
PHP垃圾代码10、用自己设计的模板语言
对这种情况一定要充满恐惧。因为这些家伙试图造出属于自己的*!如果不小心这一点的话,你会发现你一天的美好时光都用在如何模拟一个for循环上。