Growing a Joyful Codebase from Legacy Code
summary
Explains concrete steps to convert messy iOS apps into testable modules: extract presenters from massive view controllers, replace global access by remove global singletons and inject dependencies, and write unit tests using protocol-based fakes like an API spy and a storage fake. Shows code-level refactors (delegate vs closure, composer vs inheritance), how to pick extraction candidates, and when to refactor incrementally so feature delivery keeps working while coverage and modularity improve.
AI-written summary · about
chapters (10)
- 0:00Introduction and speaker intro
- 2:10What is legacy code
- 5:39Growing vs starting from scratch
- 8:05Massive view controllers
- 17:20Extracting components
- 17:42Problems with Singletons
- 22:19The role of testing
- 27:38Introducing good habits
- 32:18Summary and key takeaways
- 32:44Q&A session
related talks
45mChanging attitudes toward legacy code
42mSplitting Monolithic Swift Code Base Into Modules
39mCode Archeology
42mWorking Effectively with (Android) Legacy Code
41mTwo Birds with One Stone: Multimodule Architecture and Faster Builds
01mThe Path Through Legacy: Delicate Balance Between Tolerance and Phobia
49mWorking with C++ Legacy Code
38mSurgical Refactoring of Non-Tested Code – A Worked Example
