Tools and practices to help you deal with legacy code
summary
A consultant-style checklist with concrete wins: locates production DLLs and log files, uses a decompiler (dotPeek) to compare binaries and discovers five copies of the same source files, reproduces a production crash locally, then builds a safety net of characterization tests and unit tests, automates builds with Nuke build scripts and deployments via Pulumi/Ansible, adds Coverlet coverage, Roslyn analyzers and nullable annotations, deletes unused public API by making things internal and refactors toward bounded, functional slices.
AI-written summary · about
chapters (22)
- 0:00Legacy code challenges
- 2:38Modernizing legacy systems
- 4:25Understanding production environments
- 7:13Finding source code versions
- 10:05Analyzing code structure
- 12:53AI tools for complex code
- 15:41Removing dead code
- 17:46Safety net with tests
- 21:38Deployability with automation
- 23:01Versioning legacy projects
- 25:32Logging and exception guidelines
- 27:55Automated deployment strategies
- 29:40Fixing warnings and quality
- 31:05Roslyn analyzers for .NET
- 33:11Modernizing .NET Framework code
- 36:42Encapsulation and design principles
- 38:50Restructuring by functionality
- 41:39Breaking systems into modules
- 43:24Dependency inversion styles
- 48:41Improving system architecture
- 51:29Iterative refactoring
- 52:12Q&A
related talks
43mOvercoming Broken Window Syndrome Code Verification Techniques for NET Develop
22mHow to write better legacy code: A developer's wishlist
35mQuickly and Safely Refactoring Legacy Code
53mEnforce Coding Standards in .NET: Overcome Broken Window Syndrome
47mAdventures with C++ Legacy Codebases: Tales of Incremental Improvement
53mCode Foresting: Automating Architecture Governance for .NET Teams
48mThree Principles To Bring Your Legacy Code Into the Future
01h 29mAlchemical Code Rejuvenation
