tags:

views:

40

answers:

2

The codebase is just too huge, I just feel lost when trying to read it.

Thanks!

+1  A: 

Start with smaller bits of functionality - no one understands a large codebase, certainly when first starting with it.

Concentrate on subsystems that you find interesting, for example:

  • Rendering engine, javascript engine, network stack for firefox
  • SQL parser, IO subsystem for MySQL

Once you understand a piece of code, see how it interacts and connects to other parts.

One thing I do is run in debug mode using an interactive debugger, setting a breakpoint in a point of interest and following the code from there and back up the stack.

Oded
How to debug these projects in visual studio ? Seems there is only a makefile for linux,but not .sln
wamp
I'm also wondering about this.
@wamp - If it's not a VS project/solution, you will not be able to debug with VS. You may be able to import it, but then you need to build the project yourself with all dependencies.
Oded
How's the windows version built if you say it's not a VS project/solution?
wamp
@wamp - There are make files, and ports of make and c/c++ compilers for windows. Visual Studio is _not_ the only way to compile windows applications.
Oded
@Oded,how did you debug these projects in linux? I don't there is a good GUI debuger in linux yet...
wamp
@wamp - I never did debug these. I only said that is my normal approach on large code bases. Sorry for the confusion.
Oded
A: 

One way you might approach this is to find a minor (and hopefully interesting) issue from the project's bug tracker. If it's small in scope, fixing it will force you to learn a bite-sized piece of the project (as well as how to build the whole project, which is useful). If its not apparent which bugs are the right size and scope, a post to the developer's mailing list would probably be illuminating.

This way, you'll learn the code better than you would just from eyeballing and make a contribution to boot!

Greg Harman