Comprehending hard-to-understand software
summary
Practical techniques, tools and heuristics for understanding large or hard-to-follow codebases are presented, addressing the growing complexity from millions of added lines and difficulty finding the change points for modifying or extending behavior. The talk focuses on day-to-day approaches and concrete practices to inspect, analyze and navigate complex projects—covering tooling and methods to make existing, hard-to-understand software more comprehensible.
AI-written summary · about
chapters (27)
- 0:00Start
- 1:30People don't like working on legacy systems
- 2:21Working with legacy systems is complex
- 2:37Every second more code is added
- 3:15Less employment associated with startups
- 4:11Rewriting code
- 5:56Repeating the same thing over and over
- 6:24Not rewriting code
- 8:01Understanding the domain
- 10:11Understanding the impact
- 11:12The content mapping
- 13:06The domain
- 13:30The components
- 20:07Diagram
- 23:59Components
- 27:24Static analysis
- 33:24Ways to learn to read code better
- 35:50Difficulty understanding code
- 36:45Lack of information
- 37:45Lack of processing capacity
- 39:45Iconic memory
- 44:45Eliminating distractions
- 46:19Starting from the end
- 47:49Finding IDF
- 49:45Code coverage
- 52:00Safe refactors
- 53:47Conclusions








