代碼不朽:編寫可維護軟件的 10大要則 (Java版) 代码不朽:编写可维护软件的10大要则(Java版)

約斯特·維瑟 (Joost Visser)

買這商品的人也買了...

商品描述

<內容簡介>

人類到目前為止已經能夠度量越來越多的東西,例如時間、長度等,但是在軟件開發領域,我們依然很難去評估一個軟件系統的質量,以及維護它的難易程度。可維護性越差,意味著開發成本越高、開發速度越慢,以及由於改動帶來的缺陷也越多。在現實中,我們經常會面對代碼混亂、模塊緊耦合的遺留系統,持續攀升的維護難度會最終導致系統不可維護,從而推倒重來。來自軟件改進組織(Software Improvement Group)的諮詢師們,從大量實踐項目中提取出了編寫可維護軟件的10個最佳原則,不僅可以用來測量軟件的質量和可維護性,還可以指導我們如何編寫出高質量的代碼。本書會一一介紹這些原則,並且提供了翔實的代碼示例,能夠讓讀者一步步瞭解到如何對代碼進行重構,從而達到滿足原則、提高可維護性。本書中的代碼示例都採用Java語言編寫,但是背後的原則也適用於使用其他語言的開發人員。希望各位讀者在閱讀完本書後,能夠瞭解和掌握如何對軟件系統的質量進行評估和測量,以及如何在實踐中遵循書中的原則,編寫出高質量、簡潔的代碼,開發出松耦合、高可維護性的系統。

<章節目錄>

關於作者 ......................................................................................xi
前言 ........................................................................................... xiii
第 1 章 簡介 .................................................................................1
1.1 什麽是可維護性? ..........................................................................................1
1.2 為什麽可維護性很重要? ...............................................................................2
1.3 本書的三個基本理論 ......................................................................................4
1.4 對可維護性的誤解 ..........................................................................................5
1.5 評價可維護性 ..................................................................................................6
1.6 可維護性原則的概述 ......................................................................................8
第 2 章 編寫短小的代碼單元 ........................................................11
2.1 動機 ...............................................................................................................14
2.2 如何使用本原則 ............................................................................................15
2.3 常見的反對意見 ............................................................................................22
2.4 參考 ...............................................................................................................25
第 3 章 編寫簡單的代碼單元 ........................................................27
3.1 動機 ...............................................................................................................33
3.2 如何使用本原則 ............................................................................................34
3.3 常見的反對意見 ............................................................................................39
3.4 參考 ...............................................................................................................40
第 4 章 不寫重復代碼 ..................................................................43
4.1 動機 ...............................................................................................................47
4.2 如何使用本原則 ............................................................................................48
4.3 常見的反對意見 ............................................................................................53
4.4 參考 ...............................................................................................................55
第 5 章 保持代碼單元的接口簡單 .................................................57
5.1 動機 ...............................................................................................................59
5.2 如何使用本原則 ............................................................................................60
5.3 常見的反對意見 ............................................................................................64
5.4 參考 ...............................................................................................................65
第 6 章 分離模塊之間的關註點 ....................................................67
6.1 動機 ................................................................................................................72
6.2 如何使用本原則 ............................................................................................73
6.3 常見的反對意見 ............................................................................................78
第 7 章 架構組件松耦合 ..............................................................81
7.1 動機 ...............................................................................................................82
7.2 如何使用本原則 ............................................................................................85
7.3 常見的反對意見 ............................................................................................87
7.4 參考 ...............................................................................................................89
第 8 章 保持架構組件之間的平衡 .................................................91
8.1 動機 ...............................................................................................................92
8.2 如何使用本原則 ............................................................................................93
8.3 常見的反對意見 ............................................................................................95
8.4 參考 ...............................................................................................................95
第 9 章 保持小規模代碼庫 ...........................................................99
9.1 動機 ...............................................................................................................99
9.2 如何使用本原則 ..........................................................................................102
9.3 常見的反對意見 ..........................................................................................104
第 10 章 自動化開發部署和測試 ................................................107
10.1 動機 ...........................................................................................................109
10.2 如何使用本原則 ........................................................................................110
10.3 常見的反對意見 ........................................................................................119
10.4 參考 ...........................................................................................................120
第 11 章 編寫簡潔的代碼 ...........................................................121
11.1 不留痕跡 ...................................................................................................121
11.2 如何使用本原則 ........................................................................................122
11.3 常見的反對意見 ........................................................................................128
第 12 章 後續事宜 .....................................................................131
12.1 將原則變成實踐 ........................................................................................131
12.2 低層級(代碼單元)原則要優先於高層級(組件)原則 .........................131
12.3 對每次提交負責 ........................................................................................132
12.4 下一本書會討論開發流程的最佳實踐 ......................................................132
附錄 A SIG 如何來評估可維護性 ...............................................133
索引 ..........................................................................................137

目錄大綱