This change series fixes duplication and semi-duplication in the old system, making it easy to understand what to move to the new system.
Habit: Whole Values 1 — Fix Primitive Obsession
Organization ROI: Reduce bugs that arise from miscommunciation. Create classes to unwind many common design problems. Engineer ROI: Create missing classes by following existing code.
Habit: Names Expose Duplication
Organization ROI: Find opportunities to reduce duplication without introducing coupling bugs. Engineer ROI: Honest names distinguish intentional from accidental near-duplication.
Habit: Whole Values 2 — Collect Behaviors
Organization ROI: Decrease duplicate code and God Classes, reducing testing, implementation, and bug costs. Engineer ROI: Move code onto whole value classes from procedures that use God Classes.
Habit: Split God Classes 3 — Break Inbound Dependencies
Organization ROI: Prevent bugs due to data sharing between remote parts of the code. Update remote parts of the code separately. Engineer ROI: Split one set of code that works with the God Class to use something simpler.