繼承過多過深影響代碼可讀性,提升維護成本設計模式
一個類(方法)只完成一件事
不要設計大而全的類(接口)
高內聚低耦合
架構
類或方法沒法準確命名
依賴過多外部資源
代碼行數過多,類的屬性或者函數過多
類的方法都在集中操做某幾個屬性
函數
考慮功能的相關性,避免低耦合過分失去高內聚,提升維護成本工具
對擴展開放,對修改關閉
合理設計,不要過分設計
職責單一,避免相互影響,保證穩定性
單元測試
重複主要指:代碼重複,語義重複,執行重複
代碼重複指的是一樣的代碼出如今多個地方,這種狀況能夠經過抽取方法,工具類的方式解決
語義重複指的是相同的功能採用了不一樣的實現方法,出如今多個地方,這種狀況能夠經過抽取工具類的方法解決
執行重複指的業務上下文執行了一樣的邏輯,通常是參數校驗,格式化等,須要從業務角度梳理,去除沒必要要的重複執行
複用須要考慮擴展性,避免和業務耦合,保證代碼的穩定性
測試
重構是一個持續的過程,重構不光是代碼級別的重構,也針對業務架構等
重構的前提是單元測試要覆蓋到位編碼
代碼質量高低是經過綜合各類因素獲得的結論,常見的描述有可讀性,可維護性,簡潔性,靈活性等,對應的通常都是面向對象的幾個特性。因此好的代碼應該是面向對象的。spa
須要掌握面向對象的思想,作好設計再寫代碼,在編碼過程當中靈活使用設計模式,遵循編碼規範,不斷的重構完善代碼。
設計