Legacy Refactoring
summary
Argues to refactor unless the business model changes, not rewrite; starts by modernizing tools (upgrade VS/C#, move off SQL Server 2008, push to Azure) and using IDE help like ReSharper. Establishes a safety net with domain-level unit tests and continuous pull requests that block merges without tests, uses pair programming to transfer domain and testing skills, extracts small methods (extract method), reduces coupling (Law of Demeter), applies SRP/DDD naming, and measures success by lines removed and hotspot analysis.
AI-written summary · about
chapters (25)
- 0:00Introduction
- 1:26What is Legacy
- 4:19Refactor or Rewrite
- 6:01Value of Legacy
- 6:34Pyramid of Code, People & Skills, Tools & Infrastructure
- 7:10No. 1: Tools & Infrastructure
- 9:02Code that was never good and its history
- 11:31Authority of Change
- 13:40No. 2: People & Skills
- 14:00People need help
- 15:38Techniques
- 16:51Techniques: Testing
- 18:30Techniques: Pair Programming
- 20:58Change of Habits
- 23:08No. 3: Code
- 26:46The Legacy Code Dilemma
- 28:56Law of Demeter: Low Coupling
- 30:27Law of Demeter: High Cohesion
- 31:54Domain-Driven Design
- 33:27Layering
- 35:38Boundaries
- 37:58Summary: Code
- 41:11Metrics in Legacy Code
- 43:14Motivation
- 44:10Q&A
related talks
55mHow To Approach Refactoring
01h 01mDomain-Driven Refactoring
35mQuickly and Safely Refactoring Legacy Code
50mRefactoring Is Not Just Clickbait
48mThree Principles To Bring Your Legacy Code Into the Future
49mDomain-Driven Refactoring
01h 04mRefactoring Is Not Just Clickbait
01h 17mRefactoring the ROI of Software
