Information Foraging: How Developers Navigate Systems Developers rarely read code from top to bottom. They navigate it. When debugging or extending a system, developers follow cues that suggest where relevant behavior might live, such as: Directory structure and package names Class names Method names Enums and constant values Each cue helps answer a constant question during exploration: "Where should I look next?" This behavior resembles patterns studied in human-computer interaction research. I

Why Some Codebases Are Hard to Understand: Cognitive Surface Area and the Hidden Cost of System Navigation
Christie Cosky
