代碼不朽:編寫可維護軟件的 10大要則 (Java版)
內容描述
<內容簡介>
人類到目前為止已經能夠度量越來越多的東西,例如時間、長度等,但是在軟件開發領域,我們依然很難去評估一個軟件系統的質量,以及維護它的難易程度。可維護性越差,意味著開發成本越高、開發速度越慢,以及由於改動帶來的缺陷也越多。在現實中,我們經常會面對代碼混亂、模塊緊耦合的遺留系統,持續攀升的維護難度會最終導致系統不可維護,從而推倒重來。來自軟件改進組織(Software Improvement Group)的諮詢師們,從大量實踐項目中提取出了編寫可維護軟件的10個最佳原則,不僅可以用來測量軟件的質量和可維護性,還可以指導我們如何編寫出高質量的代碼。本書會一一介紹這些原則,並且提供了翔實的代碼示例,能夠讓讀者一步步瞭解到如何對代碼進行重構,從而達到滿足原則、提高可維護性。本書中的代碼示例都採用Java語言編寫,但是背後的原則也適用於使用其他語言的開發人員。希望各位讀者在閱讀完本書後,能夠瞭解和掌握如何對軟件系統的質量進行評估和測量,以及如何在實踐中遵循書中的原則,編寫出高質量、簡潔的代碼,開發出松耦合、高可維護性的系統。
<章節目錄>
關於作者 ......................................................................................xi前言 ........................................................................................... xiii第 1 章 簡介 .................................................................................11.1 什麽是可維護性? ..........................................................................................11.2 為什麽可維護性很重要? ...............................................................................21.3 本書的三個基本理論 ......................................................................................41.4 對可維護性的誤解 ..........................................................................................51.5 評價可維護性 ..................................................................................................61.6 可維護性原則的概述 ......................................................................................8第 2 章 編寫短小的代碼單元 ........................................................112.1 動機 ...............................................................................................................142.2 如何使用本原則 ............................................................................................152.3 常見的反對意見 ............................................................................................222.4 參考 ...............................................................................................................25第 3 章 編寫簡單的代碼單元 ........................................................273.1 動機 ...............................................................................................................333.2 如何使用本原則 ............................................................................................343.3 常見的反對意見 ............................................................................................393.4 參考 ...............................................................................................................40第 4 章 不寫重復代碼 ..................................................................434.1 動機 ...............................................................................................................474.2 如何使用本原則 ............................................................................................484.3 常見的反對意見 ............................................................................................534.4 參考 ...............................................................................................................55第 5 章 保持代碼單元的接口簡單 .................................................575.1 動機 ...............................................................................................................595.2 如何使用本原則 ............................................................................................605.3 常見的反對意見 ............................................................................................645.4 參考 ...............................................................................................................65第 6 章 分離模塊之間的關註點 ....................................................676.1 動機 ................................................................................................................726.2 如何使用本原則 ............................................................................................736.3 常見的反對意見 ............................................................................................78第 7 章 架構組件松耦合 ..............................................................817.1 動機 ...............................................................................................................827.2 如何使用本原則 ............................................................................................857.3 常見的反對意見 ............................................................................................877.4 參考 ...............................................................................................................89第 8 章 保持架構組件之間的平衡 .................................................918.1 動機 ...............................................................................................................928.2 如何使用本原則 ............................................................................................938.3 常見的反對意見 ............................................................................................958.4 參考 ...............................................................................................................95第 9 章 保持小規模代碼庫 ...........................................................999.1 動機 ...............................................................................................................999.2 如何使用本原則 ..........................................................................................1029.3 常見的反對意見 ..........................................................................................104第 10 章 自動化開發部署和測試 ................................................10710.1 動機 ...........................................................................................................10910.2 如何使用本原則 ........................................................................................11010.3 常見的反對意見 ........................................................................................11910.4 參考 ...........................................................................................................120第 11 章 編寫簡潔的代碼 ...........................................................12111.1 不留痕跡 ...................................................................................................12111.2 如何使用本原則 ........................................................................................12211.3 常見的反對意見 ........................................................................................128第 12 章 後續事宜 .....................................................................13112.1 將原則變成實踐 ........................................................................................13112.2 低層級(代碼單元)原則要優先於高層級(組件)原則 .........................13112.3 對每次提交負責 ........................................................................................13212.4 下一本書會討論開發流程的最佳實踐 ......................................................132附錄 A SIG 如何來評估可維護性 ...............................................133索引 ..........................................................................................137