Refactoring in Large Software Projects: Performing Complex Restructurings Successfully

Martin Lippert, Stephen Roock

  • 出版商: Wiley
  • 出版日期: 2006-05-18
  • 定價: $1,980
  • 售價: 8.5$1,683
  • 語言: 英文
  • 頁數: 286
  • 裝訂: Paperback
  • ISBN: 0470858923
  • ISBN-13: 9780470858929
  • 相關分類: Refactoring
  • 立即出貨 (庫存 < 3)

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

商品描述

Description

Large Refactorings looks at methods of establish design improvements as an important and independent activity during development of software, and will help to ensure that software continues to adapt, improve and remain easy to read and modify without altering its observable behaviour. It provides real-world experience from real refactored projects and shows how to refactor software to ensure that it is efficient, fresh and adaptable.

 

Table of Contents

1. Introduction.

1.1 Architecture Smells.

1.2 Large Refactorings.

1.3 Refactoring and Databases.

1.4 Refactoring and Published-APIs.

1.5 Recommended Reading.

1.6 For Whom Was this Book Written?.

1.7 The Background of this Book.

1.8 Acknowledgements.

2. Refactoring - An Overview.

2.1 Emergent Design.

2.2 What Does Refactoring Mean?.

2.3 The Role of Tests.

2.4 Tools Support for Refactorings.

2.5 Experiences and Recommendations.

2.6 References.

3. Architecture Smells.

3.1 Design Principles.

3.2 Smells in Dependency Graphs.

3.3 Smells in Inheritance Hierarchies.

3.4 Smells in Packages.

3.5 Smells in Subsystems.

3.6 Smells in Layers.

3.7 Locating Smells.

3.8 Preventing Smells.

3.9 References.

4. Large Refactorings.

4.1 Introduction.

4.2 Best Practices for Large Refactorings.

4.3 Fragments of Large Refactorings.

4.4 Example: Lists.

4.5 References.

5. Refactoring of Relational Databases.

5.1 Differences between Databases and OO Programming Languages.

5.2 Problems in the Interaction of Programs and Database.

5.3 Refactoring of Relational Database Schemas.

5.4 Migration of Data between Different Versions of a Database Schema.

5.5 Refactoring Database Access Codes.

5.6 Roles in a Project.

5.7 Tools.

5.8 Tips.

5.9 A Typical Data Models.

5.10 An Example.

5.11 References.

6. API Refactorings.

6.1 Subsystems.

6.2 Problems of API Refactorings.

6.3 Compatibility Classes.

6.4 Refactoring Tags.

6.5 API Refactorings in Detail.

6.6 Converter.

6.7 Application Migration with Incompatible Subsystem Changes.

6.8 Tips for Designing APIs.

6.9 An Example.

6.10 Another Approach: "Catch Up and Replay".

6.11 References.

7. Tool-based Detection and Avoidance of Architecture Smells.

7.1 Specifications of an Analysis Tool.

7.2 Architecture Analysis with Sotograph.

7.3 Architecture Analysis Based on Cycles.

7.4 Metrics-based Architecture Analysis.

7.5 Support for the Preparation of Large Refactorings.

7.6 Support of the Refactoring Process.

7.7 Conclusion.

8. Conclusion.

9. Glossary.

商品描述(中文翻譯)

描述



大型重構探討了在軟體開發過程中,將設計改進作為一項重要且獨立的活動的方法,並將有助於確保軟體能夠持續適應、改進並保持易於閱讀和修改,而不會改變其可觀察行為。它提供了來自實際重構專案的實際經驗,並展示了如何重構軟體以確保其效率、新鮮度和適應性。



 


目錄



1. 簡介。


1.1 架構異味。


1.2 大型重構。


1.3 重構與資料庫。


1.4 重構與公開API。


1.5 推薦閱讀。


1.6 這本書是為誰寫的?


1.7 本書的背景。


1.8 致謝。


2. 重構 - 概述。


2.1 演化設計。


2.2 重構的意義。


2.3 測試的角色。


2.4 重構的工具支援。


2.5 經驗和建議。


2.6 參考資料。


3. 架構異味。


3.1 設計原則。


3.2 依賴圖中的異味。


3.3 繼承層次結構中的異味。


3.4 封裝中的異味。


3.5 子系統中的異味。


3.6 層次結構中的異味。


3.7 定位異味。


3.8 預防異味。


3.9 參考資料。


4. 大型重構。


4.1 簡介。


4.2 大型重構的最佳實踐。


4.3 大型重構的片段。


4.4 範例:列表。


4.5 參考資料。


5. 關聯式資料庫的重構。


5.1 資料庫與物件導向程式語言的差異。


5.2 程式與資料庫互動中的問題。


5.3 關聯式資料庫結構的重構。


5.4 在不同版本的資料庫結構之間遷移資料。


5.5 重構資料庫存取程式碼。


5.6 專案中的角色。


5.7 工具。


5.8 提示。


5.9 典型的資料模型。


5.10 範例。


5.11 參考資料