April 21, 2022
In every development team, you have a combination of people with different sets of knowledge and expertise. That’s the beauty of working together as a collective. For example, in our team we have Java experts, Scala enthusiasts, a TypeScript and JS team, and many more! All of these superstars range across the board from junior all the way up to senior developers.
If we want to make our code reviews as efficient, robust, and quality-focused as we can, we want to take advantage of the unique strengths of each of our team members. The way that we can do this is by designating code owners.
Code owners are defined by three pillars:
- They are experts in a specific code area or technology.
- They are dedicated to maintaining a high level of code quality.
- They give valuable feedback.
When you combine these together, you can drastically improve the overall quality of what you’re creating because you’re better leveraging the skills and expertise that you have at your disposal.
Typically, you’ll look to select these code owners based on the folder structure and extensions such as */ui, .ts, or .java. This is the main difference between the concept of a code owner versus a default reviewer in Bitbucket. With our Code Owners app , you can define code owners specifically for certain domains which helps to spread the load and get the right person on the job for each component.
Maintaining an intuitive folder structure also helps to support monorepos in a way that you simply can’t achieve with default reviewers. You are even able to define Bitbucket groups as code owners for certain domains which provides even more flexibility.
By deploying code owners, we have a much more consistent code review process and we get better results over time because we’re making the most of the expertise that we have in our team. In addition, we also get automatic versioning by using the code owners files within our git repositories. What’s not to love?
Researchers found that reviewers with prior knowledge of the code under review give more useful comments (Source: *https://www.zora.uzh.ch/id/eprint/152982/1/icse2018seip.pdf ).
This is why major software companies like Google use the concept of Code Owners since years.
We’re curious, have you tried this? Who are your code owners?