Living the Best Life on a Legacy Project
summary
Says legacy is "existing code" that may be valuable so refactor only when change reduces risk or adds business value; favor small, iterative refactors and keep change sets tiny. Recommends characterization tests to lock current behaviour, run everything in CI and keep trunk green, use phpcs/php-cs-fixer and static analysis with a baseline before tightening, use a step debugger (Xdebug) to understand flow, accept existing Mockery tests rather than rewrite them to PHPUnit, and weigh payment‑critical risk before changing.
AI-written summary · about
chapters (29)
- 0:00Intro
- 1:59How I Got Here
- 2:25What Does Legacy Mean
- 3:54Legacy Code Causes
- 8:57General Skills
- 9:47Communication
- 13:49Strategy
- 15:14Process
- 18:03Documentation
- 21:18Reading Code
- 25:34Understanding the Business
- 26:31Success Factor
- 30:34Dont just refactor
- 33:42Make a plan
- 34:29Tooling
- 36:11Static Analysis
- 37:47Testing
- 39:38Code Reviews
- 40:43Peer Reviews
- 41:56Team Policies
- 44:29Kieran
- 45:51Business Value
- 46:49The Point
- 47:50Test Pyramid
- 48:50Limit the Scope
- 50:23Run the Tests
- 51:06Add into CI
- 51:51Summary
- 52:46Questions
related talks
41mLiving the Best Life on a Legacy Project
37mLearn to appreciate legacy (Story about Zed)
31mLearn to appreciate legacy
48mThree Principles To Bring Your Legacy Code Into the Future
28mReformat, Refactor, Replace: A practical guide for dealing with legacy software
35mQuickly and Safely Refactoring Legacy Code
01h 06mRewriting Legacy Code
35mUpgrading Legacy Projects: Lessons Learned
