目的はわかったけどどうしてこの変更で達成できるの?がわからない、文脈が抜け落ちている Diff というのがある。唐突な Diff、と呼ぼう。 唐突な Diff との戦いには二種類ある。 一つは自分が唐突な Diff を作らない、という戦いで、ちょっと込み入ったバグ修正など、変更する箇所は少ないがそのぶん意図がわかりづらくなる場合。自分はバグの原因を解明する過程で関連するコードを読み込んでいるので「流れ」を把握できているが、レビュアーが Diff そのものから全体像を思い描くのは難しい。リグレッションテストを追加してもやはり文脈なしでは説明不足だ。そういうときはコメントを丁寧に書き、場合によっては関連コードのリンクを添えつつステップを順に説明したりする。これにはそれなりに手間と時間がかかる。 もう一つは唐突な Diff に出会ったときちゃんと質問する、という戦いで、「なんだこれは?」と言いた