圖文并茂的解釋“天天團(tuán)購(gòu)”壞代碼
也許有人說(shuō)這個(gè)不是壞代碼。——呵呵,壞與好永遠(yuǎn)是相對(duì)的,對(duì)我來(lái)說(shuō),這些代碼是壞代碼。
我最近看了一個(gè)源碼,是團(tuán)購(gòu)網(wǎng)站的源碼,看到了很多的問(wèn)題。
源碼地址:http://www.tttuangou.net/download.html
常量的使用
把常量定義在方法體內(nèi),而且不只一個(gè)地方。
居然還有常量文件,而且也不只一個(gè)。
我建議把所有的常量放在一個(gè)常量文件,這樣便于我們將來(lái)維護(hù)方便。
#p#
一個(gè)文件放置多個(gè)類(lèi)
這種代碼更是讓人一頭霧水,為什么這么寫(xiě)。
我的建議是,一個(gè)文件放置一個(gè)類(lèi)。這樣我們就能很好的找到我們要找的類(lèi),代碼的直觀性更強(qiáng)一些。
多個(gè)文件擁有相同的類(lèi)
< style="text-align: center">
建議,每個(gè)類(lèi)名可以跟文件名相關(guān)聯(lián)。如index.mod.php我們可以命名里面的類(lèi)名叫IndexModuleObject。
#p#
框架代碼混亂
所有的module調(diào)用,就是上面提到的,都用一個(gè)名字ModuleObject,怪怪的。
加載的template文件,寫(xiě)在logic文件中(Model文件中)。
我的建議是,盡量把整個(gè)框架代碼簡(jiǎn)單些,能讓程序員立馬找到module和template。
總結(jié)
整個(gè)代碼不太好的地方很多,如果逐個(gè)挑出來(lái),我估計(jì)我得寫(xiě)成系列了。——我在想初期是不是沒(méi)有做很好的規(guī)劃呢?
我覺(jué)得如果項(xiàng)目緊,沒(méi)有人專(zhuān)門(mén)做php框架,那為什么不使用現(xiàn)在比較成熟的php框架(如thinkphp,zend framework)呢?這樣整個(gè)代碼更加規(guī)范些,也容易維護(hù)。——這種代碼,讓后來(lái)的程序員,情何以堪?
也許是我見(jiàn)的php框架代碼太相似了,所以看到這種,大驚小怪了些,大家就權(quán)當(dāng)我“年紀(jì)大了,喜歡嘮叨吧"
原文鏈接:http://www.cnblogs.com/baochuan/archive/2012/05/22/2511093.html