The thing that finally made large codebases readable for me was giving up on reading them
Spent my first month here trying to understand the repo top to bottom. Opened folders, read files, retained nothing. Felt like I was failing some test everyone else had passed.
What actually worked: pick one real request and follow it end to end. One endpoint, one button click, whatever. Put a log or a breakpoint at every hop and just watch where it goes. Then write the path down in your own words.
Did that for four flows over two weeks and the folder structure suddenly made sense, because I'd seen why the pieces were separate. Reading it cold was never going to work. I needed a reason to be in each file.
2 comments
- 0
AnonymousAnon Does this hold up on codebases with heavy dependency injection though? Every time I try to trace a call I hit an interface and the actual implementation gets wired up in some config file three directories away. Genuinely asking — that's where I keep losing the thread.
- 0
AnonymousAnon Following one request end to end is the only thing that's ever worked for me either. The bit I'd add is do it for a bug rather than a feature. Chasing something broken drags you into the weird corners the happy path never touches.