
Ask HN: How long does it take you to familiarize yourself with a new codebase? - tuyguntn
Sometimes, I try to contribute to open source projects, but codebase of some projects are huge (chromium, spidermonkey, anything written using LLVM (Swift, Nim), ...)<p>How long does it take to you, surf codebase, find something for yourself and try to create patch for it?<p>I am mostly interested in deeper knowledge of C&#x2F;C++ in order to improve my skills in high-performance, distributed computation area.<p>But whenever I see huge codebase and until I surf the code, find something for myself, another guy would create a patch for it, or issues look so hard to begin with, or not possible for me at this time (consider beginner issues which require special environment with some special device)<p>So how do you contribute? What would you do in my situation?
======
egraether
Too long.

I faced this problem while interning in the Google Chrome team and working on
Chromium. Most of my time was used by reading the source code and figuring out
the bigger picture of how classes and methods play together. I actually came
to the conclusion that the big problem is that current tooling does not really
support a developer on the task of reading existing source code. So I started
building a new tool, Coati, an interactive source explorer for C/C++ based on
clang. After using Coati myself for about half a year now, I can say that it
really helps me navigate through the codebase quicker.

The tool is still at an early stage. We recently launched our website with a
first release version: [https://www.coati.io/](https://www.coati.io/)

Do you think Coati is a tool that can help you?

