: Sunday Morning Tutorials (8:30 - 12:00) : Sunday : Testing and Documentation : Programming Techniques
Working Effectively with Legacy Code
Sunday, 8:30, half day
Michael Feathers, Object Mentor
Tutorial number: 6
Test Driven Development and Refactoring are powerful tools in the software development arsenal. With them you can add new code to systems and make existing code more maintainable. However, refactoring code without having tests in place can be hazardous. This tutorial presents 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 can be used in conjunction with Test Driven Development to breathe new life into large existing code bases.
Intermediate: Each participant should be an experienced C, C++, Java, or C# programmer, with first-hand experience attempting to modify legacy code written in one of those languages. Particpants should also have reading knowledge of Java and C++.
Michael Feathers, Object Mentor: Michael works with Object Mentor as mentor and consultant. He is the author of 'Working Effectively with Legacy Code.' He is also the original author of CppUnit, a C++ port of the JUnit testing framework, and CppFit, a C++ port of the FIT integrated-testing framework. A member of ACM and IEEE, he has chaired CodeFest at several OOPSLA conferences.