blob: e7ecccd62351e8977661002f648939550c9d7576 [file] [log] [blame] [view]
Evan Stadece7bcd12025-03-31 16:46:461# Finding somebody who knows how a piece of code works
2
3It can be more efficient to ask somebody how something works than to take weeks
4to figure it out yourself. Likewise, when making changes, you will need to reach
5out to someone for review of your code or your designs. So how do you find the
6best folks to reach out to? Here are some ideas to get you started.
7
81. **Ask your teammates** - those who have been on the project longer than you
9 will have a better idea or may have contacts in other areas.
101. **Look at the `OWNERS` files** - If you can identify a source file involved
11 in what you want to do, find the lowest level
12 [`OWNERS` file](code_reviews.md#owners-files) above it, and email those
13 people. The code review tool can automatedly find relevant owners for your
14 changes, largely based on `OWNERS` files.
151. **Look at the `DIR_METADATA` file** - similar to `OWNERS`,
16 [`DIR_METADATA` files](https://chromium.googlesource.com/infra/infra/+/HEAD/go/src/infra/tools/dirmd/README.md)
17 contain pointers to relevant experts. Look for the `team_email` field.
181. **Tools** - `git blame` (also available on
19 [Chromium code search](https://cs.chromium.org)) and
20 [Chromite Butler](https://chrome.google.com/webstore/detail/chromite-butler/bhcnanendmgjjeghamaccjnochlnhcgj)
21 can help you find who touched the code last or most extensively. Sometimes
22 not just the _author_ but _reviewers_ of a past change will be relevant.
231. **Use the Slack channel**
24 ([link](https://www.chromium.org/developers/slack/)) - while not everybody is
25 listening all the time, you may get a pointer to the right folks to talk to.
261. **Use the chromium-dev@chromium.org email alias** to ask questions. This is a
27 fairly large email list, so use your judgment about what to post, and it may
28 take awhile to get a reply. If you do this, it helps to ask one crisp
29 question at the top of your mail and then explain in detail instead of
30 rambling and asking many questions.
31
32Sometimes, there isn't one person who knows what you want to find out, but you
33can find people who know parts of the system. For instance, no one person knows
34everything about how Chromium starts up or shuts down and can tell you what you
35did wrong in a shutdown scenario, but you can find people who know some parts of
36the shutdown to guide you.