4 ms·
That's a whole lot of questions, I'll attempt to answer just the primary one -- how I approach a new large code base. For me, the absolute first thing to do is
by devnonymous 12y ago
That's a whole lot of questions, I'll attempt to answer just the primary one -- how I approach a new large code base.
For me, the absolute first thing to do is not look at the codebase. I prefer to understand the system itself (ie: understand the stack and how everything fits in). IOW, understand what layers exist and how exactly are they stacked. Again without looking at the codebase, rather by interacting with the system.
I do this by trying to understand the main entry points for a specific task and follow the 'request' (for lack of a better term, but it doesn't mean a http request) along the stack. In real terms what this means usually, is that I'd hit the logs and see what happens when I do something.
Next (ie: by which time I know at least the major layers), I would look at the codebase and identify sections/modules that seem like they provide the entry-points discovered above. Next, depending on the language and tools that are available, I start 'playing' around with the code.
I know this sounds a bit vague but all that I can tell you is this is what works for me and I have gotten better at it over time (ie: experience counts).