~/talk

Rewriting 15-Year-Old Code

slides:none on file

A practical playbook for fixing old web apps: module-by-module rewrites, not risky full rewrites, with an actual billing module rewritten in about a 40-hour rewrite that recovers ~15% lost revenue; migration tactics include an ASP Classic → PHP path using a session adapter and HTTP comparison tests, automated tests for extracted methods, and backups with anonymized data. Design work uses design extraction from live code, method extraction to tame huge functions, and hunts that found 1.5 million lines and 60,000-line duplications.

AI-written summary · about

  1. 0:00Intro
  2. 1:29Feeling Old Yet?
  3. 4:04Mixed Concerns
  4. 5:01Poorly Named Variables
  5. 6:31Global Functions & Constants
  6. 9:19Inexplicable Conditions
  7. 11:41Average Legacy Code File
  8. 13:02Codebase
  9. 14:08Strategy
  10. 19:04Data Can Be Lost, Stuff Can Break
  11. 23:57Build With Real Legacy Data
  12. 25:51PHP 3 to PHP 5.6
  13. 30:45Avoid Code Bias
  14. 33:15Code Duplication
  15. 34:56Fix Long Methods
  16. 36:48Spot Logical Groups
  17. 38:38Extract & Test
  18. 41:02Solution
  19. 43:12Guzzle Tests
  20. 45:06Testing Static Methods
  21. 50:59Takeaways
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.