An MMG Exchange, or Maintainable Middle Ground Exchange, is a respectful discussion for reconciling competing implementation preferences. Its goal is a solution that remains clear and maintainable for current and future developers. section 6.1.1
Use the exchange when reviewers and authors hold opposing views about an implementation:
- Keep the tone professional and respectful, even when disagreeing. section 6.1.1
- Acknowledge the concern, listen actively, and explain the reasoning behind each approach. section 6.1.1
- Try small modifications to reach agreement, then seek broader middle ground if needed. section 6.1.1
- Bring the team into the discussion when agreement remains elusive, and choose the solution that makes sense to most developers. section 6.1.1
A disputed implementation preference
A reviewer calls an implementation “too confusing” or “too clever” and proposes a supposedly clearer alternative. Instead of treating either preference as automatically correct, acknowledge the concern, compare the reasoning behind both approaches, modify them where useful, and involve the team if no middle ground emerges. section 6.1.1
Figure 6.4 The 5P process for suggesting a change during a code review
Use the related 5P process to decide whether a debatable code-review suggestion should be passed, proposed, or postponed before pursuing middle ground. section 6.4
