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

Effective Code Review

Attia Mo
December 25, 2019

Effective Code Review

Attia Mo

December 25, 2019
Tweet

More Decks by Attia Mo

Other Decks in Technology

Transcript

  1. A t t i a M o
    Effective Code Review
    @AttiaMoTheDev

    View Slide


  2. A t t i a M o @AttiaMoTheDev

    View Slide

  3. A t t i a M o @AttiaMoTheDev
    1⃣ What’s Code Review?
    2⃣ Why Should We Care about it?
    3⃣ Code Review Checklist ✅
    4⃣ Feedback Culture
    5⃣ Resources
    Agenda .

    View Slide

  4. A t t i a M o @AttiaMoTheDev
    wikipedia
    1⃣ What’s Code Review?
    Code review is systematic examination (sometimes referred to as peer
    review) of computer source code. It is intended to find mistakes
    overlooked in the initial development phase, improving the overall quality
    of software.

    View Slide

  5. A t t i a M o @AttiaMoTheDev

    View Slide

  6. A t t i a M o @AttiaMoTheDev
    2⃣ Why?

    View Slide

  7. A t t i a M o @AttiaMoTheDev
    Styles/ Convention
    Why?

    View Slide

  8. A t t i a M o @AttiaMoTheDev
    ⚙ Integrity
    Why?

    View Slide

  9. A t t i a M o @AttiaMoTheDev
    Code quality
    Why?
    Code smell

    View Slide

  10. A t t i a M o @AttiaMoTheDev
    Long Method
    Code Smell
    Large classe
    Message chain
    Mutable Data Class
    Access control
    Feature envy
    Resource

    View Slide

  11. A t t i a M o @AttiaMoTheDev
    Why?
    ♻ Reinventing the Wheel

    View Slide

  12. A t t i a M o @AttiaMoTheDev
    Why?
    Security

    View Slide

  13. A t t i a M o @AttiaMoTheDev
    Maintainability
    Why?

    View Slide

  14. A t t i a M o @AttiaMoTheDev
    3⃣ Checklist ✅

    View Slide

  15. A t t i a M o @AttiaMoTheDev

    View Slide

  16. A t t i a M o @AttiaMoTheDev
    Project Guidelines (linting ..etc) ✅
    Checklist ☑

    View Slide

  17. A t t i a M o @AttiaMoTheDev
    Run Unit/UI/Integration Tests ✅
    Checklist ☑

    View Slide

  18. A t t i a M o @AttiaMoTheDev

    View Slide

  19. A t t i a M o @AttiaMoTheDev

    View Slide

  20. A t t i a M o @AttiaMoTheDev
    System Design ✅
    Checklist ☑

    View Slide

  21. A t t i a M o @AttiaMoTheDev
    Functionality ✅
    Checklist ☑

    View Slide

  22. A t t i a M o @AttiaMoTheDev
    UI changes ✅
    Checklist ☑

    View Slide

  23. A t t i a M o @AttiaMoTheDev
    Good Things ✅
    Checklist ☑

    View Slide

  24. A t t i a M o @AttiaMoTheDev
    4⃣ Feedback Culture

    View Slide

  25. A t t i a M o @AttiaMoTheDev
    Feedback

    1⃣ Culture.
    2⃣ Time.
    3⃣ Accuracy.

    View Slide

  26. A t t i a M o @AttiaMoTheDev
    1⃣ Focus on the behavior, not the person! (this
    code Vs You).
    2⃣ You don’t have any authority.
    3⃣ Culture difference should be taken into an
    account.
    4⃣ You should not escalate it anyway to conflict.

    Culture

    View Slide

  27. A t t i a M o @AttiaMoTheDev
    1⃣ Always be within PR scope.
    2⃣ Write all your feedback at once.
    3⃣ Give me actionable item.
    4⃣ You should not escalate it anyway
    to conflict.

    Specific

    View Slide

  28. A t t i a M o @AttiaMoTheDev
    1⃣ Write all feedback at once.
    2⃣ Don’t wait for ages to review others.
    3⃣ Don’t rush your code reviews.
    4⃣ Don’t Deploy the day before
    weekend

    Timely

    View Slide

  29. A t t i a M o @AttiaMoTheDev
    6⃣ Resources

    View Slide


  30. A t t i a M o @AttiaMoTheDev
    https://kristina.io/pull-request-checklists/
    https://medium.com/@same7mabrouk/the-checklist-of-my-code-
    review-18cc6f6fb5b3
    https://google.github.io/eng-practices/review/reviewer/

    View Slide

  31. A t t i a M o @AttiaMoTheDev
    1⃣ What’s Code Review?
    2⃣ Why Should We Care about it?
    3⃣ Code Review Checklist ✅
    4⃣ Feedback Culture
    5⃣ Resources
    Recap!

    View Slide

  32. Thanks.
    A t t i a M o @AttiaMoTheDev

    View Slide