設計重構:25個管理技術債的技巧消除軟體設計臭味 (Refactoring for Software Design Smells: Managing Technical Debt)
Girish Suryanarayana、Ganesh Samarthyam、Tushar Sharma 著 袁國忠 譯
- 出版商: 博碩
- 出版日期: 2021-10-05
- 定價: $520
- 售價: 7.8 折 $406
- 語言: 繁體中文
- 頁數: 272
- 裝訂: 平裝
- ISBN: 9864345222
- ISBN-13: 9789864345229
-
相關分類:
Refactoring
- 此書翻譯自: Refactoring for Software Design Smells: Managing Technical Debt (Paperback)
-
相關翻譯:
軟件設計重構 (簡中版)
銷售排行:
🥉 2021/10 繁體中文書 銷售排行 第 3 名
立即出貨 (庫存 > 10)
買這商品的人也買了...
-
無瑕的程式碼-敏捷軟體開發技巧守則 (Clean Code: A Handbook of Agile Software Craftsmanship)$580$452 -
設計模式的解析與活用 (Design Patterns Explained: A New Perspective on Object-Oriented Design, 2/e)$480$374 -
Specification by Example 中文版:團隊如何交付正確的軟體 (Specification by Example: How Successful Teams Deliver the Right Software)$420$357 -
單元測試的藝術, 2/e (The Art of Unit Testing: with examples in C#, 2/e)$650$507 -
無瑕的程式碼-整潔的軟體設計與架構篇 (Clean Architecture: A Craftsman's Guide to Software Structure and Design)$580$452 -
領域驅動設計:軟體核心複雜度的解決方法 (Domain-Driven Design: Tackling Complexity in the Heart of Software)$680$530 -
重構|改善既有程式的設計, 2/e (繁中平裝版)(Refactoring: Improving The Design of Existing Code, 2/e)$800$632 -
Working Effectively with Legacy Code : 管理、修改、重構遺留程式碼的藝術 (中文版)$720$562 -
The Pragmatic Programmer 20週年紀念版 (The Pragmatic Programmer, 20th Anniversary Edition)$680$537 -
依賴注入:原理、實作與設計模式 (Dependency Injection: Principles, Practices, Patterns, 2/e)$1,000$780 -
軟體架構原理|工程方法 (Fundamentals of Software Architecture: A Comprehensive Guide to Patterns, Characteristics, and Best Practices)$680$537 -
Kent Beck 的測試驅動開發:案例導向的逐步解決之道 (Test-Driven Development: By Example)(TDD)$560$437 -
經理人之道:技術領袖航向成長與改變的參考指南 (The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change)$480$379 -
大規模重構|奪回源碼庫的控制權 (Refactoring at Scale: Regaining Control of Your Codebase)$580$458 -
CQRS 命令查詢職責分離模式 (Command Query Responsibility Segregation)$500$390 -
Mike Cohn 的使用者故事:敏捷軟體開發應用之道 (User Stories Applied : For Agile Software Development)$600$468 -
領域驅動設計與 .NET Core:應用 DDD 原則,探索軟體核心複雜度 (Hands-On Domain-Driven Design with .NET Core)$780$608 -
內行人才知道的系統設計面試指南$580$458 -
跟著 Docker 隊長,修練 22天就精通 - 搭配 20小時作者線上教學,無縫接軌 Microservices、Cloud-native、Serverless、DevOps 開發架構$880$695 -
你所不知道的必學前端 Debug 技巧:即學即用!讓你 Debug 不求人 (iT邦幫忙鐵人賽系列書)$620$484 -
Martin Fowler 的企業級軟體架構模式:軟體重構教父傳授 51個模式,活用設計思考與架構決策 (Patterns of Enterprise Application Architecture)$800$624 -
軟體架構:困難部分 (Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures)$780$616 -
Clean Architecture 實作篇:在整潔的架構上弄髒你的手 (Get Your Hands Dirty on Clean Architecture)$500$390 -
Google 的軟體工程之道|從程式設計經驗中吸取教訓 (Software Engineering at Google)$880$695 -
實戰領域驅動設計:高效軟體開發的正確觀點、應用策略與實作指引 (Implementing Domain-Driven Design)$1,280$998
相關主題
商品描述
- [名家名著] 24
聞到它,找到它,消滅它!
還在被技術債追著跑嗎?
培養軟體嗅覺讓你無債一身輕!
本書重點介紹了技術債和一種確實可行的技術債管理方式,是一部名副其實的臭味實戰指南。
──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 技術債
參考文獻


















