40個跡象表明你還是PHP菜鳥
51CTO之前曾報道過《從菜鳥到大師,細(xì)看程序員的五種層次》,在軟件開發(fā)界,優(yōu)秀開發(fā)者與一般程序員的差別還是比較大的。文章是作者的主觀感受:
如果你還有以下這些跡象,那你仍是PHP菜鳥:
1. 不會利用如phpDoc這樣的工具來恰當(dāng)?shù)刈⑨屇愕拇a;
2. 對優(yōu)秀的集成開發(fā)環(huán)境如Zend Studio或Eclipse PDT視而不見;
3. 從未用過任何形式的版本控制系統(tǒng),如Subclipse;
4. 不采用某種編碼與命名標(biāo)準(zhǔn),以及通用約定,不能在項目開發(fā)周期里貫徹落實(shí);
5. 不使用統(tǒng)一開發(fā)方式;
6. 不轉(zhuǎn)換(或)也不驗(yàn)證某些輸入或SQL查詢串(參考PHP相關(guān)函數(shù));
7. 不在編碼之前徹底規(guī)劃你的程序;
8. 不使用測試驅(qū)動開發(fā);
9. 不在錯誤開啟狀態(tài)下進(jìn)行編碼和測試;
10. 對調(diào)試器的好處視而不見;
11. 不重構(gòu)你的代碼;
12. 不使用類似MVC模式把程序的不同層次劃分開;
13. 不知道這些概念:KISS, DRY, MVC, OOP, REST;
14. 不用return而是直接在你的函數(shù)或類中輸出(echo/print)內(nèi)容;
15. 對單元測試或通用測試的優(yōu)點(diǎn)視而不見;
16. 總是返回硬編碼的HTML,卻不返回純粹的數(shù)據(jù),字符串,或?qū)ο螅?/p>
17. 總是對“消息”和“配置參數(shù)”進(jìn)行硬編碼;
18. 不對SQL查詢語句做優(yōu)化;
19. 不使用__autoload;
20. 不允許智能錯誤處理;
21. 使用$_GET替代$_POST來做具有破壞性的傳遞操作;
22. 不知道怎么利用正則表達(dá)式;
23. 從未聽說過SQL注入或跨站腳本;
24. 不允許簡易配置,也不允許類的構(gòu)造函數(shù)接受參數(shù)傳遞而后執(zhí)行set/get方法,或運(yùn)行時的常量定義;
25. 不理解面向?qū)ο缶幊蹋∣OP)的優(yōu)勢和劣勢;
26. 不視情形大小而濫用OOP;
27. 自認(rèn)為實(shí)現(xiàn)可復(fù)用的軟件一定等于/需要讓你的代碼遵循OOP;
28. 不利用智能缺省值;
29. 沒有單一的配置文件;
30. 不想暴露文件源碼,卻用.inc后綴名取代了.php;
31. 不使用數(shù)據(jù)庫抽象層;
32. 不能保持DRY作風(fēng),即不重復(fù)自己,如果你總是在復(fù)制粘貼一些東西,說明你設(shè)計得很差勁;
33. 沒有實(shí)現(xiàn)讓一個函數(shù)/類/方法只做一件事,也不能組合利用它們;
34. 沒能嘗試OOP的特長,如抽象類、接口、多態(tài)、繼承,訪問控制修飾符;
35. 不用現(xiàn)有的設(shè)計模式優(yōu)化你的程序體系設(shè)計;
36. 不允許你的用戶在你擁有很多文件或目錄的情況下定義基礎(chǔ)目錄;
37. 污染了名稱空間,比如用常見字符串命名你的庫函數(shù);
38. 使用數(shù)據(jù)庫表時不使用表前綴;
39. 不使用統(tǒng)一的模板引擎;
40. 不關(guān)注已有的PHP開發(fā)框架,懶于探索;其實(shí)先進(jìn)的開發(fā)理念和美妙代碼就蘊(yùn)含其中。
如果你還有意見,請在評論中和大家一起分享。
譯文地址:http://article.yeeyan.org/view/davidkoree/9329?from_com
【編輯推薦】