How to write better legacy code: A developer's wishlist
summary
Maintaining a 15‑year codebase proves the decisions that matter: extract risky domains and migrate domains to microservices so each piece upgrades to the latest .NET separately; run in containers and expect AKS style ingress (TLS termination broke assumptions about port 443); avoid server time zone assumptions and use UTC everywhere; remove dead pages and unused projects; require commit history and enforce pull requests with work item links; and cover code with unit, integration and perf tests and write integration tests for third‑party APIs to catch surprises early.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 0:59What is a legacy code
- 1:39Why do we keep legacy codes
- 2:21How to avoid having a legacy code
- 3:01What is maintainability
- 3:44Loosely coupled
- 6:17Architecture
- 7:05Assumptions
- 9:49History
- 12:00Example
- 14:24Tests
- 15:58Clean up
- 17:34Complexity
related talks
53mTools and practices to help you deal with legacy code
48mThree Principles To Bring Your Legacy Code Into the Future
39mThe End of Legacy Code
57mLiving the Best Life on a Legacy Project
57mCtrl-Alt-Del: Learning to Love Legacy Code
59mTechniques for writing high-quality code
41mHow to write maintainable code
35mUpgrading Legacy Projects: Lessons Learned
