Reinhold Weber 提出PHP程式員的40點陋習.(本E問隻寫了一部分内容,譯者找到原版翻譯,以下是完全版)
1不寫注釋
2不使用可以提高生産效率的IDE工具
3不使用版本控制
4不按照程式設計規範寫代碼
5不使用統一的方法
6編碼前不去思考和計劃
7在執行sql前不執行編碼和安全檢測
8不使用測試驅動開發
9編碼時不打開自動報錯(error_reporting)
10不使用一種好的調試工具
11不重構你的代碼(refactor)
12不采用MVC這樣的分層結構
13不知道以下等等概念:KISS,DRY,MVC,OOP,REST
14在函數或者類裡直接用print或者echo輸出東西而不是傳回(return)
15不使用也不去了解單元測試
16傳回HTMl而不是data,strings,objects等類型
17糟糕的代碼和配置參數(hard code messages and configuration parameters)
18不優化sql查詢
19不使用__autoload
20不支援自動錯誤操作(應該是智能糾錯)
21使用$_GET替代$_POST去進行危險的參數傳遞(記得這40條都是錯誤的東西)
22不知道怎樣使用正規表達式
23從未聽說過sql注入和跨站腳本(安全方面,應該了解下這兩個東西的英文:sql injection,cross-site scripting)
24不支援簡單配置,傳遞參數給類的構造函數,set/get方法,定義常量
25不能了解OOP的優缺點
26無論要做的東西有多小,都使用OOP
27認為做可複用的軟體就是OOP
28不使用預設值(don't choose intelligent defaults)
29不使用單一配置檔案
30不想讓别人看到代碼,卻使用.inc替換掉.php
31不使用資料庫抽象層(持久層)
32開發時不DRY(Dont repeat yourself). (就是總開發重複的東西)
33不開發可以重複使用的類或者方法.
34不使用抽象類或者接口類,繼承,多态,封裝.
35不使用已有的設計模式優化你的程式.
36不允許使用者定義基礎目錄(這點好象PHP不太适合,畢竟不是基于作業系統的開發)
37錯誤的使用命名空間,使用大家都普遍使用的單詞作為字首.(這樣以後别人使用會造成沖突.,例如自己定義一個function 叫 array_push())
38使用資料庫時不使用表字首(這個很重要...)
39不使用或者使用一個陌生的模闆引擎(友善團隊開發,大家要使用常見的模闆)
40不去看PHP的架構(大多數架構中都包含優秀的代碼和先進的概念.值得我們學習)
其中譯者還有很多做不到的,還需要努力!