Git: Discussing Code - fairheadcreative/docs GitHub Wiki

In general

  • Code isn't always black and white. Discuss opinions, decide quickly upon acceptable patterns, and keep moving.
  • Ask questions, don't be bossy. "What do you think about doing ____?"
  • When in doubt, ask more questions. "I'm not sure I understand, can you explain in more detail?"
  • The code belongs to the team, it's not "yours". Reflect this in your language.
  • Don't shame anybody, ever. Assume everyone means well, and has good intentions.
  • Be clear. Don't let your intentions get lost in the text or in assumptions.
  • Don't use sarcasm or hyperbole.
  • Be yourself. Exclamation points, emoji, gifs, whatever is comfortable for you.
  • Discuss with audio and video if any point of discussion starts taking a while.

During review: Receiving

  • Remember to be thankful and show appreciation. when reviewers make suggestions.
  • Remember that feedback on your code isn't a review of you. You are not your code.
  • Link to the pull request or commit in question when discussing the code.
  • Only merge your changes when everything has been thoroughly tested.
  • Celebrate the merge with gratitude and appreciation for those that helped you.

During review: Giving

  • Be sure you understand the problem that the code is trying to solve.
  • Help the author look for simpler ways to solve the problem.
  • If things get too philosophical, bench those discussions and roll a solution. Discuss the philosophical parts afterwards.
  • Assume the code author has thought of your alternate ideas, and reflect that in your language.
  • Try to look at things from the code author's perspective.
  • Mark pull requests as 'Ready to merge', and let the author merge their own code.