[程式基礎] 程式的可讀性、可維護性、可變更性
- 任何語言都需要強調編碼風格的一致性。只要是團隊開發,每個人都以相同的方式編寫程式碼就是至關重要的。這樣大家才能方便地互相看懂和維護對方的程式碼
- 可讀性:
- 容易閱讀、跟蹤和理解的程度
- 提高程式碼的可讀性可以為程式碼閱讀者節約時間(避免閱讀時浪費過多無謂的時間)和精力(Debug、擴充套件功能或是效能優化的前提條件是你要讀懂這段程式碼
- 可以參考的策略:
- 編碼風格一致
- 程式碼清晰表達意圖
- 寫別人看得懂的單詞,如果選用英語,那麼避免日語、法語和漢語拼音等,儘量使用語義化的命名組合;
- PIE 原則:意圖清楚而且表達明確地程式設計;
- 能夠讓人快速看懂(最低限度的要求是自己一個月後能快速讀懂);
- 恰到好處的註釋
- 不能太多或太少,註釋的形式根據程式碼具體的情況有不同;
- 避免用註釋包裹程式碼;
- 儘量留下簡明扼要的註釋;
- 評估取捨(不要編寫大段的程式碼)
- 避免寫一些現在不需要、將來也不太可能需要的功能:
- 不完美主義:不多寫程式碼(如會話儲存拆分);
- 避免做沒有太大價值的優化工作;
- 區分任務的輕重緩急:
- 頭疼醫頭也醫腳:先容忍失敗,再解決問題(如節點關閉邏輯);
- 不頭疼不醫頭:量化分析(如引數調整回滾等);
- 綜合考慮一下效能、便利性、生產力、成本和上市時間……
- 避免寫一些現在不需要、將來也不太可能需要的功能:
- 簡單就是美,避免簡單的功能寫出複雜的程式碼;
- 保持簡單的程式碼遠比寫出複雜程式碼要難得多,但這是值得的;
- 不編寫討巧的程式碼;
- 避免無謂的條件巢狀和過度封裝;
- 第一眼看上去就能知道其用處的程式碼,才是簡單而美的程式碼
- 堅持操作方法的原子性,而後使用組合模式實現業務邏輯;
- 避免大段程式碼,要寫高內聚、低耦合的程式碼
- 可維護性
- 指理解、改正、改動、改進軟體的難易程度
-
編寫時可維護性
-
編寫時可維護性是指在程式或系統上線後爆出 BUG,開發團隊能夠及時撲滅這個 BUG 且不會爆出其他 BUG。保持方法的原子性,提高程式碼內聚,能使某處修改的影響降到最低,這樣某處方法出現 BUG,也不太會影響到其他模組的正常運作。編寫時可維護性還包括了程式碼的可測試性。
-
-
執行時可維護性
-
執行時的可維護性是指在系統執行過程中(或無需再次編碼釋出、只需系統重啟一次)修改系統的某項配置並使其生效,且不影響現在正在進行的業務和使用者的操作。這要求軟體工程師不能把程式碼寫死。例如配置檔案、資料庫連線字串、資原始檔、日誌等。
-
-
可供參考的策略:
-
不要把程式碼寫死;
-
預測可能發生的變化
-
通過提高程式碼的複用性提高程式碼的可維護性
-
-
可寫性:
-
程式碼的可寫性包括程式碼的可變更性,程式碼的可變更性是軟體理論的核心。
-
程式碼的可寫性是建立在程式碼的可維護性上的,而程式碼的可寫性與可維護性又都建立在程式碼的可讀性上。
-
如果程式碼難以閱讀,那麼 BUG 的修正將變得難以入手,新功能的新增就更是無從入手了。
-
-
相關資源參考: