should|コードレビューでの推奨表現とその使いどころ
should|コードレビューでの推奨表現とその使いどころ
概要
should
は、コードレビューで使われる「推奨されるが必須ではない」指摘を意味します。
機能的に問題はないものの、より良い設計・保守性・一貫性のために改善を提案したいときに使われます。
shouldは“提案”であり、“命令”ではありません。レビューの中間領域を担う柔軟な表現です。
must / should / nit の関係
優先度 | ラベル | 意味 |
---|---|---|
高 | must |
修正しないとマージ不可 |
中 | should |
修正が望ましいが、マージは可能 |
低 | nit |
細かな改善(任意・スタイル) |
shouldは「レビューを通す/通さない」の分岐ではなく、「より良い方向性を共有する」表現です。
コメント例と使用シーン
構造改善を提案する例
should: この関数、やや責務が多いため分割した方が保守しやすくなりそうです。
命名改善を示唆する例
should: `userData1`より`activeUserList`の方が意味が明確で読みやすくなるかもしれません。
一貫性を重視する提案
should: 他のファイルでは `fetchXXX` という命名が使われているため、揃えた方が良さそうです。
shouldを使うべきかの判断基準
- 影響は限定的だが改善すると明らかに良くなる
- 現状でも動作に問題はない
- 個人の好みに依存せず、チーム方針・文脈に合致した改善である
- 時間や状況によっては今は対応しない選択肢も成立する
Reviewer: shouldレベルの指摘いくつかあります。必要なものだけ対応でも大丈夫です。
Author: 確認しました。2点だけ修正して、他は次のリファクタリングで扱います。
会話例:shouldコメントの実務的やり取り
Reviewer: shouldですが、ここは早期returnにするとネストが浅くなりそうです。
Author: なるほど。視認性も上がりそうなので修正します。
Reviewer: この定数名、shouldで変えた方が用途が明確になりそうです。
Author: 他の箇所との整合があるので今回は見送ります。
Reviewer: 承知です。コメント残しておきますね。
チームでのshould運用方針
should
は「優しさ」ではなく「建設的提案」であるという共通理解を持つ- PRテンプレートに「should指摘のうち対応した/しない理由」欄を設けてもよい
- 無視されやすくならないよう、内容の質と意図の説明を意識する
shouldは「責任を伴わないから適当でいい」というものではありません。納得性と根拠があるほど、提案は生きた知見になります。
関連用語
must
:必須対応指摘。shouldとは明確に区別するoptional
:shouldよりさらに軽い、任意提案のラベルreadability
:should指摘で多く使われる観点
実務視点まとめ
shouldはレビュー文化の「余白」であり、必須と任意の間にある合意形成の場です。
提案の質、説明の丁寧さ、そして信頼関係があって初めて、shouldは意味を持ちます。
レビューを止めずに改善を進めるための知的インフラとして、適切に運用しましょう。