Skip to content
academia.sh

Course Intermediate

Code Review and Team Process

By the end of this course

Start course

01

Review Axis

Purpose of review, the contract of a public interface and backward compatibility, correctness and edge cases, the meaningfulness and fragility of tests, a change's reflection in documentation, and handing the style discussion off to a tool.

  1. 01 Purpose of Code Review On the same change, three reviewers on the same axis find 6 defects, three reviewers on separate axes find 15, a single reviewer on five axes finds 22; five reviewers on five axes also find 22, and two unwritten-requirement defects escape all four of the four configurations.
  2. 02 Meaning of Interface The sets the five axes find are disjoint and the sum of pairwise intersections is 0; found drops from 22 to 19 when the interface axis is closed, and ten reviewers without an interface axis find 3 fewer defects than a single reviewer covering all five axes.
  3. 03 Meaning of Implementation An axis's marginal contribution is independent of which axes are already open: implementation adds 6 defects in both orders, and whether one, three, or twelve people look at the same axis does not change that 6.
  4. 04 Reviewing Tests All three test defects sit in chunks that were read, and reviewers giving findings on other axes are present in those chunks; missed-in-unread-chunk is 0 on all five axes, and found drops from 22 to 19 once the test axis is closed.
  5. 05 Documentation Review Closing the five axes one at a time always loses the size of the closed class — 3, 6, 3, 3, and 7 defects; closing the documentation axis drops found from 22 to 19, and two unwritten-requirement defects sitting in the same chunk keep being missed even with the axis open.
  6. 06 Code Style and Automation Once the style axis is handed to a tool, the human's finding drops from 22 to 15 and its style share from 0.318 to 0.000; the total stays the same if all five axes were already covered, and climbs from 15 to 22 in a three-reviewer panel.

02

Review Culture

The limits of a reviewable change, feedback language that speaks to the change rather than the person, resolving a design argument, and reading wait time and round count.

  1. 01 Change Size Attention is fixed at 12 chunks; the same 24 defects are found 22 times at 100 lines, 18 times at 900 lines, 2 times at 2400 lines, and 36 of 2400 lines' chunks go unread.
  2. 02 Feedback Language The same 22 findings close in 2 review rounds when written actionably, in 4 rounds when no closing criterion is written; in a change merged at the third round, the criterionless style leaves 22 of 22 notes open.
  3. 03 Disagreement Resolution When six of twenty-two findings turn into a design disagreement, having no rule produces 6 review rounds and 36 units of wait and leaves 8 defects in the code; tying the decision to a criterion takes 3 rounds and 18 units and leaves only 2.
  4. 04 Review Metrics Three reviewers on the same axis produce 6 review rounds, 36 units of wait, and 3 remaining defects; one reviewer on five axes gives 2 rounds, 12 units, and 0 remaining, and the same gap turns into 2 versus 15 rounds of staying open in the review queue.

03

Team Flow

The work item's life cycle, writing expectations for outside contribution, code ownership and required reviewers, the repository platform's class-level capabilities, and what a release note and a tag mean to the reader.

  1. 01 Issue Tracking and Boards The wait a work item spends between statuses is 19 units outside review; the review round varies between 12 and 36 depending on the assignment and its share climbs from 0.387 to 0.655; putting three remaining defects back on the board takes the total from 31 to 105.
  2. 02 Contribution Guidelines A written expectation works before review: in a narrow review, as the guide's scope grows, rounds drop from 6 to 5, 4, 3, and 2; in a wide review, rounds stay fixed at 2; and a guide requiring a requirement statement drops the missed count in the 24-defect set to 0 for the first time.
  3. 03 Ownership and Approval Rules Raising the required reviewer count to one, two, and three leaves found fixed at 6, rounds at 6, and wait at 36; a single open approval alone finds 22 on the same change, and the course's second claim shows up here in reverse — ownership is not a choice of person, it is a choice of axis.
  4. 04 Repository Platform Capabilities The five-capability chain drops from 45 units to 21, but found stays at 15, missed at 9, and unwritten missed at 2 in every row; the individual gains range from 2 to 7 and only discussion's gain grows with round count — 4, 6, 12.
  5. 05 Release Publishing Workflow Twenty-four work items and six reader questions decide 144 decisions: the raw change list answers 22 of them (0.153), the classified list 44, the meaning list 88, and with tag and release asset together 132 (0.917); all 12 of the 12 unanswered decisions are also from the unwritten requirement class.

Start typing to search.

↑↓ Esc navigate · open · close