Prefactoring is the application of experience to the creation of new software systems. Its relationship to its namesake refactoring is that lessons learned from refactoring are part of that experience.[1]
Experience is captured in guidelines that can be applied to a development process. The guidelines have come from a number of sources, including Jerry Weinberg, Norm Kerth, and Scott Ambler.
These guidelines include:
- "When you're abstract, be abstract all the way"
- "Splitters can be lumped more easily than lumpers can be split"
- "Use the client’s language"
References
editFurther reading
edit- Pugh, Ken (2005). Prefactoring. O'Reilly Media. ISBN 0-596-00874-0. (this book won the Jolt award in 2006)