Sometimes, when refactoring a system which contains terrible design mistakes, one probably learns more about what not to do (i.e.,
AntiPatterns) and thus about what to do than if you had started with a system of already acceptable quality. Refactoring such a system more or less
forces you to think patterns.
(Paradoxically I once even found the resulting system to be
better than it would have been had I started from scratch because of what I had learned. But then, I had enough time and the system was very small.)
When you use
EducationalMistakes deliberately as an educational tool for teaching, you are applying a
WittgensteinsLadder.
--
FalkBruegmann
There is a
PedagogicalPattern called
FixerUpper that addresses this issue. --
JoeBergin
CategoryEducation