Host(s): Martin and Eberhard
In the first episode on Refactoring we talked about the basic ideas behind refactoring and some base principles why refactoring is a key part of software engineering. Now we move on to more complicated refactorings and discuss three major situations, their problems and possible solutions: advanced refactorings in large projects that can hardly be finished in a few minutes or hours and refactoring in larger teams. Also covered are the refactoring of published APIs and how merciless refactoring could be aligned with backward compatibility of published APIs, and refactorings that affect more than just code like for example database schemas.
- Article: Public versus Published Interfaces, Martin Fowler
- Refactoring Thumbnails by Sven Gorts, a nice way to describe and visualize larger refactorings
- Book: Ambler, Sadalage: Refactoring Databases: Evolutionary Database Design
- Book: Lippert, Roock: Refactoring in Large Software Projects – Performing Complex Restructurings Successfully
- Martin Fowler’s site about refactoring, including a list of refactoring tools for various languages and environments
- Refactoring mailing list at Yahoo