-
Notifications
You must be signed in to change notification settings - Fork 2
TDD and legacy code
Zeger Hendrikse edited this page May 22, 2024
·
10 revisions
To me, legacy code is simply code without tests — Michael Feathers
The site maintained by Nicolas Carlo, understandlegacycode.com, boasts a blog post that summarizes the key points of Working Effectively with Legacy Code.
Nicolas himself uses a somewhat different definition of legacy code.
Legacy Code is valuable code you’re afraid to change — Nicolas Carlo
as you may sometimes encounter code without (sufficient) tests, but the code reveals its intention so well, that you're not afraid to modify it.
- Awesome legacy systems, a curated list of awesome resources and links about tackling legacy systems that gives hope.
- Nicolas Carlo on separating infrastructure (tests) from domain (tests): If you mock, are you even testing?
- TDD and legacy code: creating a snapshot with approval tests
- TDD and legacy code: moving behavior back to where it belongs
- An article about the middle man and train wreck code smells.
- Splitting up a monolith using a team first approach
- What NOT to fix in a Legacy Codebase
Nicolas Carlo shares tips & tricks to work with Legacy Code on his blog: understandlegacycode.com
- The key points of Working Effectively with Legacy Code
- 7 techniques to regain control of your legacy codebase
- Reveal code structure using a word counter
- When is it the best time to refactor?
- Elevate Your Coding: Efficient Practices for Refactoring Katas
- What is Wrong With Boolean Parameters
- Refactoring... but at scale!
- When should you stop refactoring Legacy Code?
This work is licensed under a CC-BY-SA-4.0 license. Attribution: github.com/zhendrikse/tdd.