コードレビューをされる側・する側で学んだこと

エンジニアの記録
エンジニアの本音

コードレビューって、最初は怖かった。自分のコードを他の人に見られて、指摘される。プライドが傷つく感覚がありました。

でも今は、コードレビューが一番の成長機会だと思っています。される側・する側それぞれで学んだことを正直に書きます。

PROFILE 20代ITエンジニア|チーム開発でPRレビューを日々やっている|Raw Ambition 運営
キラ
キラ
最初はレビューコメントを「批判」として受け取ってた。今は「無料の学習機会」として受け取れるようになった。
Contents
  1. レビューされる側で学んだこと
  2. レビューする側で意識していること
  3. PRを出すときに意識していること
  4. まとめ:コードレビューは最高の学習機会

レビューされる側で学んだこと

指摘を「批判」ではなく「情報」として受け取る

最初のうちは、レビューコメントを見るたびに「自分のコードがダメだと言われた」と感じていました。でも実際は「このコードはこういう問題がある」という情報提供です。感情を切り離して情報として受け取れるようになってから、レビューが怖くなくなりました。

指摘の「なぜ」を理解する

修正するだけでなく、「なぜそう指摘されたか」を理解することが大事です。例えば「Pickで型を絞ってください」と言われたとき、単に直すだけでなく「なぜPickを使うべきか」を理解すると、次回から自分で気づけるようになります。

// 指摘を受けた例 // 「TextInputProps を全部受け取るのではなく、 // 必要な props だけ Pick で絞ってください」 // なぜそう言われたか: // – 不要なpropsを渡せる状態になっている // – コンポーネントの責務が不明確 // – 使う側が「どのpropsが必要か」わからない // 修正後 const UrlInputFieldCmp: React.FC<Pick<TextInputProps, ‘crmField’ | ‘field’>> = …

「1タスクずつ」でPRを出す

1つのPRに複数の変更を詰め込むとレビューが大変になります。PRは小さく・1つの目的に絞ることで、レビュアーへの負担が減り、レビューの質も上がります。

スカイ
スカイ
「指摘=学習機会」に変換できるかどうかが、成長スピードの差になるんだね。

レビューする側で意識していること

「何が問題か」を具体的に書く

「これは良くないと思います」という曖昧なコメントは、書いた側は言った気になりますが、受け取った側は何をどう直せばいいかわかりません。問題・理由・改善案をセットで書くのが丁寧なレビューコメントです。

❌ 曖昧なコメント例
「この型定義は良くないと思います」
✅ 具体的なコメント例
「TextInputProps を全部受け取っていますが、このコンポーネントが実際に使うのは crmField と field だけです。
Pick<TextInputProps, 'crmField' | 'field'> で必要なものだけに絞ると、コンポーネントの責務が明確になります。」

「なぜ」を説明する

「こうしてください」だけでなく「なぜそうすべきか」を添えると、指摘を受けた側の理解が深まります。理由を書くことでレビュアー自身の理解も深まるので、一石二鳥です。

優先度を示す

全ての指摘が同じ重みではありません。「必須修正」「できればこうして欲しい」「任意」を明示すると、PRの出し直しがスムーズになります。

// レビューコメントの優先度の付け方例 // 必須(マージブロック) // ❗ この実装だとnullが渡ったときにクラッシュします。 // value={field.value ?? ”} で null ガードを追加してください。 // できればこうして欲しい // ? バリデーション関数をユーティリティとして分離すると // テストが書きやすくなります。任意ですが検討してみてください。 // 任意(軽微) // ? import の順序を他のファイルに合わせると統一感が出ます。
キラ
キラ
レビューコメントの優先度を明示するのは、相手への配慮。「全部同じ重み」で書くと、何から直せばいいかわからなくなる。

PRを出すときに意識していること

PRの説明文を丁寧に書く

コードを見ればわかることより、「なぜこの変更をしたか」「何を確認してほしいか」を書く方が価値があります。レビュアーの「これなんで変えたんだろう」という疑問を先に解消することで、レビューがスムーズになります。

自分でレビューしてからPRを出す

PRを出す前に、自分でコードを読み直す習慣をつけました。「これ自分でもわかりにくいな」と感じた部分は、レビュアーも同じように感じます。出す前に一度、「自分がレビュアーだったら何を指摘するか」という視点で見直すと、指摘の数が減ります。

受入基準(Acceptance Criteria)を確認してからPRを出す

チケットに書いてある受入基準を全て満たしているか確認してからPRを出す。当たり前に聞こえますが、急いでいると確認を飛ばしがちです。「チケットを閉じるためのPR」ではなく「受入基準を満たすためのPR」という意識の違いが大きいです。

? POINT

PRのタイトルと本文を「3ヶ月後の自分が見てもわかる」レベルで書くことを意識しています。コードは変わっても、なぜその変更をしたかの記録はPRに残ります。
スカイ
スカイ
「3ヶ月後の自分が見てもわかる」は良い基準だね。未来の自分へのドキュメントとしてPRを書く意識。

? この記事のまとめ
  • レビューされる側:指摘を「批判」ではなく「情報」として受け取る。「なぜ」を理解する
  • レビューする側:問題・理由・改善案をセットで書く。優先度を明示する
  • PRを出すとき:「なぜこの変更か」を書く。受入基準を確認してから出す
  • コードレビューは最高の無料学習機会。怖がらずに積極的に活用する

コードレビューで指摘を受けるたびに、自分のコードが少しずつ良くなっていきます。指摘の数を恥ずかしいと思うのではなく、学習の密度だと思うようになってから成長スピードが上がりました。

Recommended
ブログを始めるならConoHa WINGが最速
エンジニアの知識・経験をブログで発信して収益化。月1,000円以下で始められます。
▶ ConoHa WINGを見てみる
※ アフィリエイトリンクです
Next
次回:「チーム開発でAWS環境を複数人で使うときの注意点【実体験】」
Raw Ambition 始動から13日目

コメント

タイトルとURLをコピーしました