Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Code Reviewing Like a Champion

maltzj
July 20, 2018
39k

Code Reviewing Like a Champion

These are the slides from my 360Andev Presentation on code review.

External Links:

Yelp's Code Review Guidelines: https://engineeringblog.yelp.com/2017/11/code-review-guidelines.html
How Square Writes Commit Messages: https://medium.com/square-corner-blog/how-square-writes-commit-messages-8e92fcbf77c9
How to Use Code Review To Execute Someone's Soul: https://www.daedtech.com/how-to-use-a-code-review-to-execute-someones-soul/
Creating a Strong Code Review Culture: https://www.youtube.com/watch?v=PJjmw9TRB7s
Honesty, Kindness, Inspiration: Pick Three: https://www.youtube.com/watch?v=hP_2XKYia9I
bettercode.reviews: http://www.bettercode.reviews/
Giving and Getting Technical Help: https://www.youtube.com/watch?v=hY14Er6JX2s
Crucial Conversations: https://www.amazon.com/Crucial-Conversations-Talking-Stakes-Second/dp/0071771328/ref=sr_1_3?ie=UTF8&qid=1521932464&sr=8-3&keywords=crucial+conversations
Pre-commit: https://pre-commit.com/

maltzj

July 20, 2018
Tweet

Transcript

  1. @maltzj What Will We Talk About? • Why Do Code

    Review • Basic Code Review Outline • How to Give Code Review Feedback
  2. @maltzj What’s Success? • You understand the goal of the

    change • You understand what is out of scope • You understand any high-level decisions
  3. @maltzj What’s Failure? • Jumping into a code review right

    away • Not calling for backup as necessary ◦ Especially important at boundaries
  4. @maltzj What’s Success? • High-level design feedback • Bug-finding +

    edge case coverage • Test coverage • Naming • Sharing new patterns
  5. @maltzj What’s Failure? • Commenting on anything a tool can

    catch ◦ PMD ◦ Checkstyle ◦ Findbugs ◦ Pre-commit hooks • Discussing the same things repeatedly
  6. @maltzj • Discussion and collaboration • Authors owning their changes

    throughout the process • People being excited about receiving feedback What Do You Want To Encourage?
  7. @maltzj • “Your style here is inconsistent. Align your braces

    with our code style.” • “This has a bug when running on Lollipop which will cause a crash. Fix it.” • “Why did you do this refactor? The code was better in its previous form.” How Can That Happen?
  8. @maltzj “The style guidelines say you should put braces on

    the same line and this code puts braces on a new line. Align your braces with the styleguide.”
  9. @maltzj “The style guidelines say you should put braces on

    the same line and this code puts braces on a new line. Can you align your braces with the styleguide?”
  10. @maltzj “The style guidelines say we should put braces on

    the same line and this code puts braces on a new line. Can we align the braces with our styleguide?”
  11. @maltzj “On a scale of 1-10 I care about this

    at about a 5. What about you? What are your major concerns?”
  12. @maltzj • Different concerns? Find a third way • Large

    Difference? Principle of the person who cares the most in the code review ◦ Protip: This shouldn’t always be you • Both high? Maybe need a larger decision What to do with this?
  13. @maltzj External Links • Yelp’s Code Review Guidelines • Writing

    Commit Messages • How to Use Code Review To Execute Someone’s Soul • Creating a Strong Code Review Culture • Honesty Kindness, Inspiration: Pick Three • Bettercode.reviews • Giving and Getting Technical Help • Crucial Conversations • Pre-commit