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

Overcoming the stress surrounding Code Review, for the betterment of your project and career

Mike Zornek
August 16, 2017

Overcoming the stress surrounding Code Review, for the betterment of your project and career

Code Review is a practice where before a change is made to a code base, the code is first posted somewhere for peer review and critique. Code Review is an extremely productive way to catch problems before they are delivered to users as well as help individuals mature as programmers. In this talk we’ll explore Code Review by documenting the responsibilities of those involved, the person posting the code, the person (or people) reviewing the code, and then again back to the poster, as they react to the feedback given. In addition to the raw process of these stages we’ll also review the very human side of Code Review using real world stories, the good, the bad and the ugly. We’ll close with more general tips and tools that can help, as well as cover some of the how and why you might want to utilize these practices even in your own solo work. The best audience for this talk are people who are looking to improve their personal or team code processes. Those who attend will leave with very actionable strategies to execute productive code review on their own projects.

Mike Zornek

August 16, 2017
Tweet

More Decks by Mike Zornek

Other Decks in Education

Transcript

  1. <Story Title> [Delivers #xxxxx] ## Finishes https://www.pivotaltracker.com/story/show/xxxxx ## Additions/Changes *

    One * Two * Three ## Testing Verify this. Use real hardware because of x.
  2. <Story Title> As a user, I want FEATURE, So that

    I ACCOMPLISH_GOAL. Acceptance Criteria: * One * Two * Three
  3. <Story Title> As a user, I want FEATURE, So that

    I ACCOMPLISH_GOAL. Acceptance Criteria: * One * Two Moved: #1234 * Three
  4. • Hard to comprehend • Single Responsibility Principal • Code

    Duplication • Boy Scout Rule • Off by One Errors • Large Input Errors • Error Handling • Performance • Old Devices • Low Memory • Method Names • Variable Names • Method Length • File Length • Docstrings • NSLocalizedStrings • Unit Tests • Testing Coverage
  5. You see, their morals, their code, it’s a bad joke.

    Dropped at the first sign of trouble. They're only as good as the world allows them to be. I'll show you. When the chips are down, these... these civilized people, they'll eat each other.
  6. Accepts merges that… • add errors / stops the build

    • add warnings • break user behavior • are not associated with a ticket/story/sprint • have not been code reviewed • are not backed up by new tests • does not contain inline method documentation