Blog
Writing about software structure, dependency graphs, coupling, circular dependencies, and different approaches to understanding large codebases.
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.