Advertisement
Guest User

Untitled

a guest
Sep 4th, 2015
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. # Implementing a Strong Code-Review Culture
  2.  
  3. ## As an author
  4. - Provide more/sufficient context around changes
  5. - Linking to the issue isn't always enough
  6. - Challenge: 2 paragraphs of context
  7.  
  8. ## As a reviewer
  9. - Offer compliments in PRs when you learn or something is done well
  10. - Ask questions rather than make demands/commands, engage in conversation
  11. - Commands and demands create 3 actions: just do it, argue, or ignore
  12. - Commands don’t recognize author’s thought process
  13. - “What do you think about <command as a question>?”, “Did you consider...?”, “Can you clarify...?”
  14. - Soften suggestions
  15. - Questions and engagement mean _LEARNING_
  16. - Don’t say “Why didn’t you **just**...?”
  17. - “just”, “simply”, “easily” don’t give good feels. Don’t use them when asking questions!
  18. - Be *positive*.
  19. - Socratic method to get more critical thinking, ideas
  20.  
  21. ## Conflict
  22. - Conflict can drive higher standard of coding
  23. - Disagreements might just be a discussion of tradeoffs, might be “not the way I would have done it”
  24. - Committing to master? Go review the commit anyway and discuss the problem of not having a pull request with the person
  25. - Enlist your team to help on process
  26.  
  27. ## What to Review
  28. - SRP + SOLID principles
  29. - Naming (naming can help lead to better discussion and responsibility)
  30. - Complexity
  31. - Test Coverage (Not QA!)
  32. - Personal checklist (what your passions are: security, performance, duplication, etc.)
  33.  
  34. ### Style review?
  35. - Style is important
  36. - Giving feedback about style puts the you in a negative eye of the author
  37. - Write it down, automate it
  38.  
  39. ## Benefits
  40. - Better code
  41. - Better people! Better developers
  42. - Better ownership (less “my code” “your code”, since we all reviewed it together)
  43. - Better versatility (everyone knows the system)
  44. - Healthy debate
  45.  
  46. ## Other notes
  47. - A lot of parallels to pairing too!
  48. - Refactoring doesn’t change tests often, so base your questions around why we’re doing the refactor and what we gain from it
  49. - Asynchview helps changes stand on their own
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement