Code Reviewing Like a Champion

C7393b7ba7ec9c8890dd77d209fbb3c9?s=47 maltzj
July 20, 2018
36k

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/

C7393b7ba7ec9c8890dd77d209fbb3c9?s=128

maltzj

July 20, 2018
Tweet

Transcript

  1. 2.
  2. 3.
  3. 4.
  4. 5.

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

    Review • Basic Code Review Outline • How to Give Code Review Feedback
  5. 12.

    @maltzj What’s Success? • You understand the goal of the

    change • You understand what is out of scope • You understand any high-level decisions
  6. 13.

    @maltzj What’s Failure? • Jumping into a code review right

    away • Not calling for backup as necessary ◦ Especially important at boundaries
  7. 15.
  8. 18.

    @maltzj What’s Success? • High-level design feedback • Bug-finding +

    edge case coverage • Test coverage • Naming • Sharing new patterns
  9. 19.

    @maltzj What’s Failure? • Commenting on anything a tool can

    catch ◦ PMD ◦ Checkstyle ◦ Findbugs ◦ Pre-commit hooks • Discussing the same things repeatedly
  10. 23.

    @maltzj • Discussion and collaboration • Authors owning their changes

    throughout the process • People being excited about receiving feedback What Do You Want To Encourage?
  11. 24.
  12. 26.

    @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?
  13. 27.
  14. 30.

    @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.”
  15. 31.
  16. 38.

    @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?”
  17. 40.

    @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?”
  18. 41.
  19. 42.
  20. 44.

    @maltzj “On a scale of 1-10 I care about this

    at about a 5. What about you? What are your major concerns?”
  21. 45.

    @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?
  22. 47.
  23. 48.

    @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