Unravelling complex projects
Some tips for getting to know a new software project
Learning how a large software project works is essential if you want to contribute to it. However, when faced with the task it can be hard to know where to start. Mitchell Hashimoto has written an article with some useful tips on how to do this:
- First become a user of the project
- Then learn to build the project
- Next pick a single feature and trace the codepath that the feature follows. Here you are learning the code internals. Keep focused on a single feature at first, then try a few more.
- Read and reimplement some recent commits. See if your implementation was similar to what was actually done.
- Finally you are ready to make a small change.
These are great tips, both for working on open and closed source projects. Does anybody have any others?