0Pricing
Frontend Academy · レッスン

コードレビューの文化とPRのベストプラクティス

建設的で敬意のあるコードレビューのフィードバックを行い、レビューしやすいPRを作成して、レビューを門番ではなく知識共有の手段として活用します。

「コードレビューの文化とPRのベストプラクティス」はCoddyKit上の無料Frontend Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはFrontend Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Frontend Academyコースには全4レッスンが含まれています。

コードレビューは知識の共有

コードレビューは門番をすることではありません。チームで学び合い、担当を引き継ぎ、品質を高く保つためのものです。良いレビュー文化はチーム全体を成長させますが、悪いレビュー文化はボトルネックと不満を生みます。

レビューしやすいPRを書く

1) 小さく保ちます(可能なら400行未満にします)。2) 明確な説明を書きます。なぜ変更するのか、何を変更するのか、どうテストするのかを含めます。3) チケットにリンクします。4) UIの変更にはスクリーンショットや動画を追加します。5) レビュアーを依頼する前に、自分の差分をセルフレビューします。

Conventional PRタイトル

コミットと同じconventionalな接頭辞を使います。feat: add user profile page、fix: handle 404 in fetch wrapper、refactor: extract Avatar componentのように記述します。これらをもとに変更履歴を生成するチームも多くあります。

PR説明テンプレート

多くのチームではPRテンプレートを使います。.github/pull_request_template.mdに配置します。

## What
Brief description of the change.

## Why
Problem this solves / business value.

## How
Key design decisions, tradeoffs considered.

## Screenshots
(For UI changes)

## Testing
- [ ] Unit tests added/updated
- [ ] Manual QA done on iOS/Android/web
- [ ] No console errors

Closes #1234

まずセルフレビュー

レビュアーを依頼する前に、自分の差分を1行ずつ確認します。わかりにくい判断をした箇所には、その理由を説明するコメントを追加します。多くの場合、他の人に見てもらう前に自分のバグに気づけます。

大きな変更を分割する

2000行のPRが丁寧にレビューされることは、ほとんどありません。1) リファクタリング(動作の変更なし)、2) 新しい動作、3) UIの仕上げ、のように分割します。それぞれレビューしやすく、元に戻しやすくなります。

建設的なフィードバックをする

命令ではなく質問として伝えます。「この処理をhookに切り出すのはどう思いますか?」のほうが、「これを切り出してください」よりも効果的です。必須修正と、できれば対応したい改善を区別します。接頭辞としてnit:、question:、blocker:を使います。

具体的にする

「これはわかりにくい」と言われても、作成者は何をすればよいかわかりません。「早期returnの意味を理解するために3回読み返しました。guard clauseとして切り出せないでしょうか?」なら、対応すべき内容が明確になります。

良いパターンを称賛する

巧みな解決策、わかりやすい命名、役立つテストには、肯定的なコメントをします。そうしたパターンを促せますし、他のフィードバックも受け入れやすくなります。批判だけを受けたPRでは、対立しているように感じてしまいます。

スタイルはレビューせずツールに任せる

フォーマットはPrettierが処理します。スタイルはESLintが処理します。タブとスペースの違いにレビューの時間を使わないでください。特定のスタイルに関する指摘が何度も出るなら、linterのルールに組み込みます。

テストをレビューする

テストもコードです。新しいコードにテストがあることを確認します。テストが本当に正しい対象を検証しているかも確認してください。間違った対象を検証しているため、壊れているのに通ってしまうテストは数多くあります。

作成者としてレビューする

すべてのコメントに返信します。親指を立てる絵文字だけでもかまいません。納得できない提案には反論します(コードを書いたのは自分なので、自分にしかわからない背景があるかもしれません)。解決したスレッドには解決済みの印を付けます。対象範囲が変わったらPRの説明を更新します。

レビューに時間制限を設ける

1営業日以内にレビューします。古いPRでは背景が失われます。作成者は次の作業に進み、ブランチにはrebaseが必要になるからです。1週間放置された大きなPRは、必ず厄介なマージになります。

GitHubでSuggestions(コードブロック)を使う

GitHubのSuggestion機能を使うと、作成者はワンクリックで修正を受け入れられます。文章で「この行をXに変更してください」と伝えるより、はるかに速く対応できます。

```suggestion
const total = items.reduce((sum, item) => sum + item.price, 0);
```

# Author clicks 'Commit suggestion' to apply.

承認するタイミングを知る

コードが正しく、テストが通り、変更内容を理解していて、安全にマージできる場合に承認します。承認することは、結果を共同で引き受けることを意味します。形式的に承認しないでください。読んでいないなら、その旨を伝えます。

確認問題

自分なら違う書き方をするコードに対して、コードレビューでフィードバックを伝えるとき、どのような姿勢が推奨されますか?

まとめ:PRのベストプラクティス

作成者は、スクリーンショットとテストを含む、小さく説明の行き届いたPRを作成します。まずセルフレビューを行います。レビュアーは、建設的で質問を中心としたフィードバックをします。blockerとnitを区別します。良い点を称賛します。スタイルの確認は省き、ツールに任せます。1日以内にレビューします。内容を理解した場合のみ承認します。PRテンプレートでプロセスを標準化します。レビューは門番ではなく、協働のためのものです。

よくある質問

「コードレビューの文化とPRのベストプラクティス」レッスンは無料ですか?

はい。「コードレビューの文化とPRのベストプラクティス」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Frontend Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Frontend Academyコースには全4レッスンが含まれています。

「コードレビューの文化とPRのベストプラクティス」で何を学びますか?

建設的で敬意のあるコードレビューのフィードバックを行い、レビューしやすいPRを作成して、レビューを門番ではなく知識共有の手段として活用します。 ブラウザで直接実行するハンズオンコードでFrontend Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Frontend Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのFrontend Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「コードレビューの文化とPRのベストプラクティス」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このFrontend Academyレッスンでコードを書いて実行できますか?

はい。すべてのFrontend Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. フロントエンドのシステム設計面接
  2. コードレビューの文化とPRのベストプラクティス
  3. メンタリングと技術ドキュメント
  4. 最新動向の把握:仕様と提案を読む
← Frontend Academyに戻る