3 Skills Needed to Write Changeable Code
- Understand OO design
- Skilled at refactoring code
- Ability to write high-value tests
Changeability is the only design metric that matters; code that's easy to change is well-designed.
>Good design preserves maximum flexibility at minimum by putting off decisions at every opportunity, deferring commitments until more specific requirements arrive. When that day comes, refactoring is how you morph the current code structure into the one what will accommodate the new requirements.