Refactoring in Large Software Projects: Performing Complex Restructurings Successfully

Refactoring in Large Software Projects: Performing Complex Restructurings Successfully

作者: Martin Lippert Stephen Roock
出版社: Wiley
出版在: 2006-05-18
ISBN-13: 9780470858929
ISBN-10: 0470858923
裝訂格式: Paperback
總頁數: 286 頁





內容描述


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.

  1. 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.
  2. 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.

  1. 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.

  1. 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.

  1. 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.

  1. Conclusion.
  2. Glossary.



相關書籍

UML: A Beginner's Guide (Paperback)

作者 Jason T. Roff

2006-05-18

The Elements of Scrum (Paperback)

作者 Chris Sims Hillary Louise Johnson

2006-05-18

Create Your Successful Agile Project: Collaborate, Measure, Estimate, Deliver

作者 Johanna Rothman

2006-05-18