Refactoring in Large Software Projects
John Wiley & Sons Ltd (Verlag)
978-0-470-85892-9 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
Stefan Roock works as a consultant and coach for it-agile GmbH (located in Germany). His areas of expertise include agile software development, refactoring techniques and agile project management and among his special interests are refactoring, incremental design and agile customer coaching. Stefan also is frequently a speaker at technical conferences and has published a number of papers and articles. He is co-author of the book "Extreme Programming in Action". You can contact him at stefan@stefanroock.de or http://www.stefanroock.de. Martin Lippert works as a consultant and coach for it-agile GmbH (located in Germany) and is an expert on agile software development, refactoring techniques and Eclipse technology. His special interests include aspect-oriented programming, refactoring, incremental design and the Eclipse platform. Martin is a frequent speaker at technical conferences and has published a number of papers and articles. He is co-author of the book "Extreme Programming in Action". You can contact him at lippert@acm.org or http://www.martinlippert.com
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. Glossary. Index.
Erscheint lt. Verlag | 7.4.2006 |
---|---|
Verlagsort | Chichester |
Sprache | englisch |
Maße | 193 x 235 mm |
Gewicht | 522 g |
Einbandart | Paperback |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
ISBN-10 | 0-470-85892-3 / 0470858923 |
ISBN-13 | 978-0-470-85892-9 / 9780470858929 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich