Code Reviews on GitHub

Given enough eyeballs, all bugs are shallow

—Linus’ Law

Introduction

In order to increase the code quality within Nextcloud, developers are requested to perform code reviews. As we are now heavily using the GitHub platform these code reviews shall take place on GitHub as well.

Precondition

From now on no direct commits/pushes to master or any of the stable branches are allowed in general. Every code change - even one liners - have to be reviewed!

How will it work?

  1. A developer will submit his changes on GitHub via a pull request (PR). GitHub:help - using pull requests
  2. Within the pull request the developer could already name other developers (using @GitHubusername) and ask them for review.
  3. Using Labels section on the right side, they add “3 - To review” label if the patch is complete. If they have no permission to do that, other developers may add this Label in case PR author had indicated.
  4. Other developers (either named or at free will) have a look at the changes and are welcome to write comments within the comment field.
  5. In case the reviewer is okay with the changes and thinks all his comments and suggestions have been taken into account a :+1 on the comment will signal a positive review.
  6. Before a pull request will be merged into master or the corresponding branch at least 2 reviewers need to give :+1 score.
  7. Our continuous integration server will give an additional indicator for the quality of the pull request (the results can be accessed from the GitHub interface for that pull request).

Examples

Read our documentation about Coding Style & General Guidelines for information on what a good pull request and good Nextcloud code looks like.

These are two examples that are considered to be good examples of how pull requests should be handled

Questions?

Feel free to drop a line on the forums or join us on IRC.