你是 PHP 菜鳥,若是你:php
1. 不會利用如phpDoc這樣的工具來恰當地註釋你的代碼正則表達式
2. 對優秀的集成 開發 環境如Zend Studio或Eclipse PDT視而不見數據庫
3. 從未用過任何形式的版本控制系統,如Subclipse編程
4. 不採用某種編碼與命名標準,以及通用約定,不能在項目開發週期裏貫徹落實設計模式
5. 不使用統一開發方式框架
6. 不轉換(或)也不驗證某些輸入或SQL查詢串(譯註:參考PHP相關函數)函數
7. 不在編碼以前完全規劃你的程序工具
8. 不使用測試驅動開發單元測試
9. 不在錯誤開啓狀態下進行編碼和測試(譯註:參考PHP函數error_reporting)測試
10. 對調試器的好處視而不見
11. 不重構你的代碼
12. 不使用相似MVC模式把程序的不一樣層次劃分開
13. 不 知道 這些概念:KISS, DRY, MVC, OOP, REST
14. 不用return而是直接在你的函數或類中輸出(echo/print)內容
15. 對單元測試或通用測試的優勢視而不見
16. 老是返回硬編碼的HTML,卻不返回純粹的數據,字符串,或對象
17. 老是對「消息」和「配置參數」進行硬編碼
18. 不對SQL查詢語句作優化
19. 不使用__autoload(譯註:參考PHP手冊相關描述)
20. 不容許智能錯誤處理(譯註:參考PEAR的ErrorStack)
21. 使用$_GET替代$_POST來作具備破壞性的傳遞操做
22. 不知道怎麼利用正則表達式
23. 從未據說過SQL注入或跨站腳本
24. 不容許簡易配置,也不容許類的構造函數接受參數傳遞然後執行set/get方法,或運行時的常量定義
25. 不理解面向對象編程(OOP)的優點和劣勢
26. 不視情形大小而濫用OOP
27. 自認爲實現可複用的軟件必定等於/須要讓你的代碼遵循OOP
28. 不利用智能缺省值
29. 沒有單一的配置文件
30. 不想暴露文件源碼,卻用.inc後綴名取代了.php
31. 不使用數據庫抽象層
32. 不能保持DRY做風,即不重複本身,若是你老是在複製粘貼一些東西,說明你設計得不好勁
33. 沒有實現讓一個函數/類/方法只作一件事,也不能組合利用它們
34. 沒能嘗試OOP的特長,如抽象類、接口、多態、繼承,訪問控制修飾符(譯註:如public, private, protected)
35. 不用現有的設計模式優化你的程序體系設計
36. 不容許你的用戶在你擁有不少文件或目錄的狀況下定義基礎目錄
37. 污染了名稱空間,好比用常見字符串命名你的庫函數
38. 使用數據庫表時不使用表前綴
39. 不使用統一的模板引擎
40. 不關注已有的PHP開發框架,懶於探索;其實先進的開發理念和美妙代碼就蘊含其中。