Abstract
Test Driven Development and Refactoring are powerful tools in the XP/Agile arsenal. With them you can add new code to systems and make existing code more maintainable. However, changing systems without having tests in place can be hazardous. This tutorial presented a collection of dependency breaking and test writing techniques that can be used to get existing code safely under test for refactoring and enhancement. These techniques were used in conjunction with Test Driven Development to breathe new life into large existing code bases. Attendees did all of this and more including:
-
Introduction / Testing as a Programmer’s tool
-
Working with and without Refactoring Tools
-
Breaking Dependencies – Sensing and Separation
-
Breaking Hidden/Manifest Dependencies
-
Java Exercise
-
Seam Identification
-
UML based exercise
-
Writing Characterization Tests
-
Java Exercise
-
Reasoning about Effects / Identifying Test Points
-
Large Method Strategies
-
Java Exercise
-
Architectural Ramifications
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsEditor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Feathers, M.C. (2004). Working Effectively with Legacy Code. In: Zannier, C., Erdogmus, H., Lindstrom, L. (eds) Extreme Programming and Agile Methods - XP/Agile Universe 2004. XP/Agile Universe 2004. Lecture Notes in Computer Science, vol 3134. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27777-4_42
Download citation
DOI: https://doi.org/10.1007/978-3-540-27777-4_42
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22839-4
Online ISBN: 978-3-540-27777-4
eBook Packages: Springer Book Archive