I've never worked on large open source projects (except maybe as part of my job), but every new company I join inevitably has some large codebase I have to familiarize myself with. In my experience.
- It just takes a long time: I find I'll spend a good 1.5-2 years at a company before I can finally say with confidence I have a decent grasp on the entire codebase;
- I try to focus on making small changes/bugfixes to specific components. Do that enough and you start to see how things fit together;
- Running the code with lots of logging sometimes helps;
- Finding some sort of high-level architecture diagram or documentation works wonders. Usually in the industry there's one dude(ine) who's been there for a while to set you on the right path, not sure about FLOSS...
Comments
I've never worked on large open source projects (except maybe as part of my job), but every new company I join inevitably has some large codebase I have to familiarize myself with. In my experience.
- It just takes a long time: I find I'll spend a good 1.5-2 years at a company before I can finally say with confidence I have a decent grasp on the entire codebase;
- I try to focus on making small changes/bugfixes to specific components. Do that enough and you start to see how things fit together;
- Running the code with lots of logging sometimes helps;
- Finding some sort of high-level architecture diagram or documentation works wonders. Usually in the industry there's one dude(ine) who's been there for a while to set you on the right path, not sure about FLOSS...