Definition#
Refactoring:
Restructure existing code to increase usability, reusability, compatibility and performance without changing its external behavior.
Important
Nobody writes a codebase that respects strictly the Separation of Concerns (SoC) principle from scratch!
Important
Nobody writes DRY, well-structured and well-documented orthogonal code on a first attempt!
Serialize Problems:
Focus on implementing the routine
Refactor data out
Refactor environment variables out
Refactor configuration out
Refactor remaining codebase into minimal script plus functions & classes
Write tests
Refactor for performance
Refactor for usability
Refactor for …