Rewriting Legacy Code
summary
Five concrete migration strategies are explained: version upgrade, progressive rewrite, framework swap, refactoring and full rewrite, with when to pick each and why. The process uses automation tools like rector and phpstorm, converts thousands of classes (500 models, 67k lines) and handles huge bases (4 million lines took six months). Tests are practical: write characterization tests that survive migration, then add unit tests for new code. Includes dockerized baseline/migration environments, anonymized production DB dumps, and common gotchas.
AI-written summary · about
chapters (22)
- 0:00Start
- 0:48Ana Filina
- 1:55Legacy Code
- 4:57Zen Framework
- 6:49How To Deal with Legacy Code
- 10:59Dynamic Types
- 13:35How To Not Do a Rewrite
- 17:29Which Approach Are You Going To Be Using for Rewriting Your Code
- 19:01Progressive Rewrite
- 19:44Version Upgrade
- 20:24Version Upgrades
- 25:49Phpstorm Plugins
- 29:14Swap Out the Framework
- 30:45Adapters
- 36:45A Progressive Rewrite
- 38:22Use Design Extraction
- 39:19Refactoring
- 49:12Characterization Tests
- 51:02Progressive Rewrites
- 52:44Gotchas
- 56:18Can You Suggest any Technique on How To Estimate the Work Needed To Write a Legacy Project
- 1:02:57When Is the Correct Step Planning First Phases To Understand if It's Better To Do a Project from Scratch
related talks
01h 02mRewriting 12-Year-Old Code
57mLiving the Best Life on a Legacy Project
55mSo, you inherited a large code base...
13mMajor migrations made easy
17mMajor migrations made easy
14mInstant Upgrades with Rector
48mThree Principles To Bring Your Legacy Code Into the Future
28mLarge scale refactoring: from start to finish
