All Projects → rodoabad → code-review-culture

rodoabad / code-review-culture

Licence: other
📖 The art of cultivating a strong dev culture in your team.

Projects that are alternatives of or similar to code-review-culture

HacktoberFest-2020
Open source is changing the world. Join global community for the yearly celebration of open source software!
Stars: ✭ 21 (+10.53%)
Mutual labels:  pr, pull-requests
backup-github-repo
Backup all the issues and pull requests of a Github repo, including the comments, events, and labels, as JSON and as HTML
Stars: ✭ 31 (+63.16%)
Mutual labels:  pr, pull-requests
Illacceptanything
The project where literally anything* goes.
Stars: ✭ 1,756 (+9142.11%)
Mutual labels:  code, pull-requests
Change Detection Review
A review of change detection methods, including codes and open data sets for deep learning. From paper: change detection based on artificial intelligence: state-of-the-art and challenges.
Stars: ✭ 248 (+1205.26%)
Mutual labels:  review, code
Cargo Crev
A cryptographically verifiable code review system for the cargo (Rust) package manager.
Stars: ✭ 1,268 (+6573.68%)
Mutual labels:  review, code
Github Issue Templates
🔣 A collection of GitHub issue and pull request templates
Stars: ✭ 3,074 (+16078.95%)
Mutual labels:  pr, pull-requests
pr-reviews-reminder-action
A GitHub Action to send Slack/Teams notification for Pull Request that are waiting for reviewers.
Stars: ✭ 18 (-5.26%)
Mutual labels:  pr, pull-requests
Github Review Filter
Chrome extension to filter files in GitHub code review using glob
Stars: ✭ 42 (+121.05%)
Mutual labels:  review, pull-requests
Pull Review
✅ Assign pull request reviewers intelligently.
Stars: ✭ 179 (+842.11%)
Mutual labels:  review, pull-requests
Dashi
💯 Get a notification in Slack every time someone asks you to check some code on Github or Bitbucket.
Stars: ✭ 29 (+52.63%)
Mutual labels:  review, code
python-codicefiscale
🇮🇹 💳 encode / decode italian fiscal codes - codifica / decodifica del Codice Fiscale italiano.
Stars: ✭ 53 (+178.95%)
Mutual labels:  code
PackageReviewR
R Package 📦 to review 🔍 R 📦s
Stars: ✭ 18 (-5.26%)
Mutual labels:  review
codeReads
goodReads (pun intended) for coding and programming
Stars: ✭ 29 (+52.63%)
Mutual labels:  code
Lua-Obfuscator
Obfuscate your lua code because it's so easy to steal!
Stars: ✭ 69 (+263.16%)
Mutual labels:  code
GitHub-tab-size
📏 Userstyle to set a custom tab-size on GitHub and Gist
Stars: ✭ 17 (-10.53%)
Mutual labels:  code
sandboni-core
Sandboni - Java test optimization library which reduces test execution time without compromising quality
Stars: ✭ 27 (+42.11%)
Mutual labels:  code
awesome-end2end-speech-recognition
💬 A list of End-to-End speech recognition, including papers, codes and other materials
Stars: ✭ 49 (+157.89%)
Mutual labels:  code
break-the-ice-with-python
The repository is about 100+ python programming exercise problem discussed, explained, and solved in different ways
Stars: ✭ 2,165 (+11294.74%)
Mutual labels:  discussion
Bagel
IPCCC 2018: Robust and Unsupervised KPI Anomaly Detection Based on Conditional Variational Autoencoder
Stars: ✭ 45 (+136.84%)
Mutual labels:  code
aloba
🤖 [Myrmica Aloba 🐜] Bot: Add labels and milestone on pull requests and issues.
Stars: ✭ 18 (-5.26%)
Mutual labels:  pull-requests

Table of Contents

  1. The modern code review
  2. Knowledge transfer
  3. Increased team awareness
  4. Finding alternative solutions
  5. Cultivating a strong code review culture
  6. As an author
  7. As a reviewer
  8. For both of you

The Modern Code Review

The discipline of discussing your code with your peers. - Derek Prior

Most people seem to think that code reviews are primarily meant to find bugs and while that is true to some extent it doesn't really meet the level of expectations when it comes to finding bugs. It is better to look at code reviews as a way to transfer knowledge from one developer to another.

Knowledge transfer

If content is king, then context is God. - Gary Vaynerchuk

This is probably one of the most important parts of a code review process. Having knowledge of the purpose of any code snippet is what makes a good team an awesome team and this will lead to increased team awareness.

Increased team awareness

Increased team awareness helps eliminate repeating mistakes in the future since everyone has context of what is going on. If everyone has context of what is changing and why then it's not going to take a long time for alternative solutions to show up.

Finding alternative solutions

I cannot stress this enough, having another set of eyes to look at any given code is better than just one since no two developers are alike and each developer has probably developed their own way of thinking how to solve problems.

Cultivating a strong code review culture

As an author

An author should provide sufficient context so that the reviewer doesn't have to hunt it down.

It will probably add a couple more minutes of your time as an author but it will probably save more time for the reviewer. Always ask yourself if a reviewer looks at my commit message and pull request, will they have to look for context somewhere else? If the answer is yes then it's probably a good idea to add more context to your commit.

Moreover, commits full of context explaining what and why a change is happening gets to live in the git repository. It will always be there and it is a lot easier to track down in the future.

As a reviewer

Provide compliments.

Compliments are free and should always be given out whenever we see something good and done particularly well.

Ask, don't tell.

As a reviewer you want your critical feedback to be well received and without negativity. One way to do that is to avoid making demands - ask questions to drive discussions.

Extract this out into a service.

This is a command. There's no discussion here. The author either has only two options - do it or ignore it. This also gives the author no credit for maybe having thought of extracting it to a service. Maybe they want to but they are just looking for more feedback.

We ask a question.

Why didn't you just extract this into a service...

While this opens up a discussion between you and the author, this puts them in the defensive and as a reviewer you probably won't go far on your discussion with this type of tone.

How do we make this better?

What do you think about extracting this into a service?

Now you've opened up a positive and healthy technical discussion between you and the author. The author now feels that they are part of the decision making and their opinions matter.

Never pass judgement in the form of a question.

For both of you

Assume the other contributors have something to teach you.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].