must|コードレビューにおける「must」の意味と適切な使い方
must|コードレビューにおける「must」の意味と適切な使い方
概要
コードレビューで「must」と書かれたコメントを見たことがある方は多いはずです。
この言葉は、単なる表現ではなく、「レビュー通過には修正が必須である」という強い意思表示を伴います。
しかし、安易な使用はコミュニケーションの摩擦やレビュー文化の硬直を招く可能性があります。
mustは「対応必須」を意味しますが、それを使うには理由と背景が必要です。
コメントの分類とmustの立ち位置
多くの開発チームでは、レビューコメントを重要度で分類しています:
優先度 | キーワード | 意味と対応姿勢 |
---|---|---|
高 | must |
修正が必須。仕様違反・セキュリティ・明確なバグ |
中 | should |
改善を推奨。保守性・可読性・パフォーマンスなど |
低 | nit |
細かい指摘。スタイルや表記揺れなど |
この3分類(must/should/nit)を全員が共有しておくことで、レビューコメントの温度感を揃えやすくなります。
技術的背景|なぜ「must」は重く受け取られるのか
「must」という語は、命令形に近い響きを持ちます。そのため、レビューアーが安易に使うと次のような摩擦を生む原因になります:
- 開発者が反論しにくくなる(心理的ブロック)
- 技術的に議論の余地がある内容でも、命令と誤解される
- チーム全体のレビュー文化が「上意下達」型に偏る
mustを使うときは、レビューアー自身が「これはなぜ絶対必要か」を明示する責任を伴います。
使用例と運用判断
不適切なmustの例
must: この関数、名前が長すぎるので短くしてください。
このような表現は、改善提案にすぎないにもかかわらず、強制力のある命令として誤解されかねません。
適切なmustの例
must: この変数はユーザー入力をそのまま使っており、XSSリスクがあります。エスケープ処理を追加してください。
セキュリティ・仕様逸脱・動作バグなど、「修正しないと運用に支障が出る」レベルの指摘に限定すべきです。
会話例:レビューコメントの温度調整
Reviewer: ここmustでお願い。未処理例外が起きそうです。
Author: 確認しました、確かにその可能性ありました。修正します。
Reviewer: ここ命名変えてほしい。mustで。
Author: 命名ルールと矛盾してますか?
Reviewer: いや、読みづらくて…。shouldに変えますね。
言葉の選び直しができる文化は、レビューに柔軟さと信頼をもたらします。
must/should/nit コメントの流れ

よくある誤解とその解消
誤解 | 実際のところ |
---|---|
mustは強く言えば通る魔法の言葉 | むしろレビュー文化を壊すリスクが高まる |
mustなら絶対に従うべき | 合理的理由があるなら、対話のうえで拒否も可能 |
経験者はmustを多用すべき | 経験者こそ、mustの使いどころを見極める冷静さが求められる |
チーム運用での対策
- mustは「仕様違反」「セキュリティリスク」「即バグ」のみに限定
- 「must多用レビューアー」はリーダーが適宜フィードバック
- GitHubテンプレートやレビューポリシーに明文化しておく
持ち帰るべき実務視点
mustは単なる指摘ラベルではなく、レビュー全体のトーンと文化を左右する強いメッセージです。
指摘の正当性と対話の余地を確保しながら、「なぜ必要か」を説明する姿勢を持つことで、レビューは学びと信頼の場になります。