Evan Stade | ce7bcd1 | 2025-03-31 16:46:46 | [diff] [blame] | 1 | # Finding somebody who knows how a piece of code works |
| 2 | |
| 3 | It can be more efficient to ask somebody how something works than to take weeks |
| 4 | to figure it out yourself. Likewise, when making changes, you will need to reach |
| 5 | out to someone for review of your code or your designs. So how do you find the |
| 6 | best folks to reach out to? Here are some ideas to get you started. |
| 7 | |
| 8 | 1. **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. |
| 10 | 1. **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. |
| 15 | 1. **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. |
| 18 | 1. **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. |
| 23 | 1. **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. |
| 26 | 1. **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 | |
| 32 | Sometimes, there isn't one person who knows what you want to find out, but you |
| 33 | can find people who know parts of the system. For instance, no one person knows |
| 34 | everything about how Chromium starts up or shuts down and can tell you what you |
| 35 | did wrong in a shutdown scenario, but you can find people who know some parts of |
| 36 | the shutdown to guide you. |