|Lippert, Martin / Roock, Stephen|
Refactoring in Large Software Projects
Performing Complex Restructurings Successfully
1. Auflage April 2006
2006. 286 Seiten, Softcover
- Praktikerbuch -
ISBN 978-0-470-85892-9 - John Wiley & Sons
Preis inkl. Mehrwertsteuer zzgl. Versandkosten.
E-Books sind auch über alle bekannten E-Book Shops erhältlich.
Breathe new life into old code! Learn how to refactor software to ensure that it is efficient, fresh and adaptable.
Refactoring is an aspect of eXtreme programming that enables software developers, designers and architects to breathe new life into old code. Authors Stefan Roock and Martin Lippert help you to keep your software projects alive and show you how to successfully adapt and improve complex restructurings.
Some Integrated Development Environments, such as Eclipse or IntelliJ, provide support for refactorings. However, this support does not tackle some of the planning or controlling, nor the long-term consequences, of large refactorings. This invaluable resource fills the gap and shows you how to improve the design of existing software code.
Whilst there have been a number of books on eXtreme Programming, few have looked in detail at individual practices. Stefan Roock and Martin Lippert take the idea a step further and extend the scope to applications that use libraries, frameworks and database structures.
Refactoring in Large Software Projects looks at methods of design improvements as an important and independent activity during development of software.
If you're looking for a practical guide to performing complex restructurings, this is certainly the book for you.
Aus dem Inhalt
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.
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.
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.
4. Large Refactorings.
4.2 Best Practices for Large Refactorings.
4.3 Fragments of Large Refactorings.
4.4 Example: Lists.
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.9 A Typical Data Models.
5.10 An Example.
6. API Refactorings.
6.2 Problems of API Refactorings.
6.3 Compatibility Classes.
6.4 Refactoring Tags.
6.5 API Refactorings in Detail.
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".
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.