生活x飲食大展
設計重構:25個管理技術債的技巧消除軟體設計臭味

設計重構:25個管理技術債的技巧消除軟體設計臭味

Refactoring for Software Design Smells: Managing Technical Debt

  • 定價:520
  • 優惠價:9468
  • 本商品單次購買10本85折442
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 台北、新北、基隆宅配快速到貨(除外地區)
載入中...
  • 分享
 

內容簡介

聞到它,找到它,消滅它!
還在被技術債追著跑嗎?
培養軟體嗅覺讓你無債一身輕!

  本書重點介紹了技術債和一種確實可行的技術債管理方式,是一部名副其實的臭味實戰指南。
  ──Grady Booch(IBM 研究院院士兼軟體工程首席科學家)

  本書是一部優秀作品,具有劃時代意義,值得每位專業人員閱讀。
  ──Stéphane Ducasse(軟體分析和軟體再造工程專家)

  改變很難卻又不可避免。生活如此,軟體亦如此。為滿足用戶不斷增長的需求,軟體必須不斷演化。有鑑於軟體的無形特徵,要管理這種不斷的變化很難。其典型的結果是軟體品質低下和巨額技術債。

 本書介紹25種結構型設計臭味及其有助於管理技術債的重構建議。我們認為遵循軟體設計原則是開發高品質軟體 的關鍵。有鑑於此,我們根據4個基本設計原則來撰寫本書介紹的臭味。根據臭味違反的具體原則對其進行命名。介紹每種臭味時,我們會指出它違反的原則、討論一些可能導致該臭味的因素,並列出該臭味可能影響的重要品質指標,讓讀者知道設計所欠下的技術債。
  
  描述每種臭味時,我們還提供了真實的範例以及業界專案經驗的趣聞軼事。對於每個範例,都提供了消除其臭味的可能重構解決方案。我們認為,要判斷臭味的影響,必須考慮設計的具體情況。因此,我們也介紹了由於條件限制(如語言或平台的侷限性)或出於大局上的考量而有意識地引入臭味的情形,使本書的立論更加周延。

  本書內容
  ●包含25個結構設計臭味的詳盡目錄(根據4種基本設計原則做分類),有助於處理軟體專案中的技術債。
  ●將各種臭味以獨特命名的手法,幫助理解臭味引起的成因以及重構的可能方案。
  ●使用插圖範例來呈現糟糕設計實踐中,所隱含的臭味以及它造成的問題。
  ●囊括實用的重構技巧以改善設計臭味並管理技術債,並在實踐中創造軟體的高度品質並加以維持。
  ●佐以實際範例以及業界專案經驗的趣聞軼事。

  本書適合軟體架構師和設計人員、軟體開發人員、專案經理、學習軟體設計的學生。
 
 

作者介紹

作者簡介

Girish Suryanarayana


  在印度Bangalore的Siemens科技公司之中,擔任研究與技術中心的高階研究科學家。

Ganesh Samarthyam

  CodeOps科技公司的創始人之一。在印度Bangalor當地從事獨立顧問、企業培訓師的工作。

Tushar Sharma

  在印度Bangalore的Siemens科技公司之中,擔任研究與技術中心的技術專家。
 
 

目錄

獻詞
推薦序一
推薦序二
總編序
編輯序
前言
致謝

CHAPTER 1 技術債
1.1 何謂技術債
1.2 技術債的組成部分
1.3 技術債的影響
1.4 引發技術債的因素
1.5 如何管理技術債

CHAPTER 2 設計臭味
2.1 為何要關心臭味
2.2 導致臭味的原因
2.3 如何消除臭味
2.4 本書涵蓋的臭味
2.5 一種設計臭味分類方案

CHAPTER 3 抽象型臭味
3.1 缺失抽象
3.2 命令式抽象
3.3 不完整的抽象
3.4 多方面抽象
3.5 不必要的抽象
3.6 未利用的抽象
3.7 重複的抽象

CHAPTER 4 封裝型臭味
4.1 不充分的封裝
4.2 洩露的封裝
4.3 缺失封裝
4.4 未利用的封裝

CHAPTER 5 模組化型臭味
5.1 拆散的模組化
5.2 不充分的模組化
5.3 循環依賴式模組化
5.4 輪轂式模組化

CHAPTER 6 層次結構(hierarchy)型臭味
6.1 缺失 hierarchy
6.2 不必要的 hierarchy
6.3 未合併的 hierarchy
6.4 過寬的 hierarchy
6.5 憑空想像的 hierarchy
6.6 過深的 hierarchy
6.7 叛逆型 hierarchy
6.8 支離破碎的 hierarchy
6.9 多路徑 hierarchy
6.10 循環 hierarchy

CHAPTER 7 臭味生態系統
7.1 具體情況的影響
7.2 臭味的相互影響

CHAPTER 8 技術債償還實戰
8.1 工具
8.2 流程
8.3 人員

APPENDIX A 軟體設計原則
A.1 抽象原則(ABSTRACTION)
A.2 非循環依賴原則(ADP)
A.3 不自我重複原則
A.4 封裝原則
A.5 資訊隱藏原則
A.6 保持簡單原則
A.7 里氏替換原則
A.8 Hierarchy 原則
A.9 模組化原則
A.10 開放封閉原則
A.11 單一職責原則
A.12 變化封裝原則
APPENDIX B 技術債償還工具
APPENDIX C 示意圖使用的表示法
APPENDIX D 推薦讀物
D.1 基礎知識
D.2 重構和再造
D.3 模式和反模式
D.4 技術債

參考文獻

 
 

詳細資料

  • ISBN:9789864345229
  • 規格:平裝 / 272頁 / 18.5 x 23 x 1.75 cm / 普通級 / 單色印刷 / 初版
  • 出版地:台灣

最近瀏覽商品

 

相關活動

  • 【自然科普、電腦資訊】張忠謀親筆撰寫、獨家授權自傳,他的一生,一場不能錯過的智慧盛宴!《張忠謀自傳》
 

購物說明

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則 

  • 電腦資訊展
  • 蓋亞全書系
  • 台灣設計週