如何提升代碼可讀性、可維護性

高質量代碼的三大要素:程序員

可讀性、可維護性和可變動性數據庫

作好代碼規範、提升代碼質量,能顯著加強代碼的可讀性、可維護性和可變動性。努力提升代碼的讀寫可維護性,是作好代碼規範的必要非充分條件。代碼規範和架構設計是軟件的靈魂所在,代碼質量偏低,就像是人失去了三魂七魄中的一魄,就會喪失活力,影響正常運行,增長軟件交付後維護成本,出現推遲完成、超出預算、特性缺失等現象。編程

任何語言都須要強調編碼風格的一致性。只要是團隊開發,每一個人都以相同的方式編寫代碼就是相當重要的。這樣你們才能方便地互相看懂和維護對方的代碼。性能優化

實際上,每家公司都會有一份(或多份)代碼規範,所以提升代碼的讀寫可維護性的關鍵在因而否能落實公司的相關文檔,公司的技術總監、項目經理或相關代碼審查機關是否具備應有的執行力。若是不能落實,那麼即使代碼規範畫得再美,具體的代碼也會醜到崩潰。架構

代碼規範性能

若是不想爲之後挖坑,作好代碼規範是程序員和團隊負責人、項目經理的必修課。如何保證當前項目開發過程當中壓力正常,而不是在後期面對過多的壓力、以致於噩夢纏身?最簡單的辦法就是照看好你的代碼,也就是落實好公司的代碼規範工做。天天爲此付出一丁點的努力,即可以免代碼腐爛,並保證代碼產品往後不至於變得難以理解(可讀性)和維護(可維護性)。測試

代碼的可讀性優化

代碼的可讀性是指代碼讓人容易閱讀、跟蹤和理解的程度。提升代碼的可讀性能夠爲代碼閱讀者節約時間(避免閱讀時浪費過多無謂的時間)和精力(Debug、擴展功能或是性能優化的前提條件是你要讀懂這段代碼)。如下是摘選的可供參考的策略:編碼

  • 編碼風格一致
  • 代碼清晰表達意圖
    • 寫別人看得懂的單詞,若是選用英語,那麼避免日語、法語和漢語拼音等,儘可能使用語義化的命名組合;
    • PIE 原則:意圖清楚並且表達明確地編程;
    • 可以讓人快速看懂(最低限度的要求是本身一個月後能快速讀懂);
  • 恰到好處的註釋
    • 不能太多或太少,註釋的形式根據代碼具體的狀況有不一樣;
    • 避免用註釋包裹代碼;
    • 儘可能留下簡明扼要的註釋;
  • 評估取捨(不要編寫大段的代碼)
    • 避免寫一些如今不須要、未來也不太可能須要的功能:
      • 不完美主義:很少寫代碼(如會話存儲拆分);
    • 避免作沒有太大價值的優化工做;
    • 區分任務的輕重緩急:
      • 頭疼醫頭也醫腳:先容忍失敗,再解決問題(如節點關閉邏輯);
      • 不頭疼不醫頭:量化分析(如參數調整回滾等);
    • 綜合考慮一下性能、便利性、生產力、成本和上市時間……
  • 簡單就是美,避免簡單的功能寫出複雜的代碼;
    • 保持簡單的代碼遠比寫出複雜代碼要可貴多,但這是值得的;
    • 不編寫討巧的代碼;
    • 避免無謂的條件嵌套和過分封裝;
    • 第一眼看上去就能知道其用處的代碼,纔是簡單而美的代碼
    • 堅持操做方法的原子性,然後使用組合模式實現業務邏輯;
    • 避免大段代碼,要寫高內聚、低耦合的代碼;

代碼的可維護性架構設計

軟件可維護性是指理解、改正、改動、改進軟件的難易程度。一般影響軟件可維護性的因素有可理解性、可測試性和可修改性。筆者這裏將其分爲兩大類:編寫時可維護性和運行時可維護性。

編寫時可維護性

編寫時可維護性是指在程序或系統上線後爆出 BUG,開發團隊可以及時撲滅這個 BUG 且不會爆出其餘 BUG。保持方法的原子性,提升代碼內聚,能使某處修改的影響降到最低,這樣某處方法出現 BUG,也不太會影響到其餘模塊的正常運做。編寫時可維護性還包括了代碼的可測試性。

運行時可維護性

運行時的可維護性是指在系統運行過程當中(或無需再次編碼發佈、只需系統重啓一次)修改系統的某項配置並使其生效,且不影響如今正在進行的業務和用戶的操做。這要求軟件工程師不能把代碼寫死。例如配置文件、數據庫鏈接字符串、資源文件、日誌等。

如下是摘選的可供參考的策略:

不要把代碼寫死;

預測可能發生的變化

經過提升代碼的複用性提升代碼的可維護性

 

代碼的可寫性

代碼的可寫性包括代碼的可變動性,代碼的可變動性是軟件理論的核心。

代碼的可寫性是創建在代碼的可維護性上的,而代碼的可寫性與可維護性又都創建在代碼的可讀性上。若是代碼難以閱讀,那麼 BUG 的修正將變得難以入手,新功能的添加就更是無從入手了。

相關文章
相關標籤/搜索