Blog
Writing about software structure, dependency graphs, coupling, circular dependencies, and different approaches to understanding large codebases.
The Hidden Cost of God Objects: A Data-Driven Analysis
Using dependency graphs to measure the real impact of bloated classes on your codebase's maintainability and team velocity
Legacy Code Onboarding in 2 Hours: A Structural Analysis Framework
A practical 2-hour framework for understanding unfamiliar codebases through structural analysis, not comprehensive reading. Learn to identify risk, coupling, and technical debt without reading every line.
Code Coupling: What It Is and How to Reduce It
Learn what code coupling is, why it matters, how to measure it with fan-in/fan-out metrics, and proven strategies to reduce coupling in your codebase.
Circular Dependencies & Strongly Connected Components: What They Are — and Why They Break Your Code
Circular dependencies break your code in subtle ways. Learn what they are, how to detect them (including SCCs), and 5 proven strategies to break dependency cycles in Python, JavaScript, and more.
What is a Dependency Graph? A Complete Guide for Developers
Learn what dependency graphs are, why they matter for code architecture, and how to use them to understand dependencies, detect problems, and make better decisions.
The Inherent Difficulty of Trying to Understand New Codebases
Most approaches to understanding new codebases don't work well. Here's what actually happens when you inherit unfamiliar code — and a better way.