|
|
|
|
|
by dougk7
4953 days ago
|
|
I first familiarise myself with what the project does and read the docs, especially if there's an overview of the architecture documented somewhere. Then clone the project locally and open it in an IDE like Eclipse that will allow you to quickly jump between modules and see the structure of the project. Starting from an entry point (e.g the main() function), work your way into the parts you're interested in. If there's any dependency you also want to look into, just clone it and open it as well. I also prefer reading through projects I use either as a dependency or as part of a system I'm building. For that the Apache foundation's projects is an excellent place to start. They have very good documentations and the forums are filled with discussions. e.g Apache Nutch (before the v2.0 release) - there are many talks and slides you can find on its architecture and the source code isn't hard to read. http://nutch.apache.org/ Twitter's github projects are also very good - especially when I started learning scala. One project that I read for fun, it was hard to go through but the exercise was worth it is Chromium. http://www.chromium.org/developers |
|