ブログ
BLOG
1.はじめに
新人エンジニアの皆さん、コードレビューの重要性を理解していますか?
これまで個人でのみ開発をしてきた方などは、他人にコードを見てもらうことや、逆に相手のコードを見て評価する経験があまりなかったかもしれません。
基本的なコードレビューを身につけることで、より実務的なコードを書けるようになり、チームのコーディングルールをいち早く理解できるようになります。
2.コードレビューの目的
簡単にコードレビューの目的を紹介します。
-
品質を保つ:
バグやエラーを早期に発見し、それらを修正するための効果的な手段です。しかしバグやエラーといったネガティブなフィードバックをするだけではいけません。良いところがあれば、しっかりポジティブなフィードバックも行いましょう。それが自他ともに成長できるきっかけになります。 -
知識の共有:
チーム内での知識の共有を促進できます。他のメンバーのコードをレビューすることで、新たな技術やアプローチをどんどん学んでいきましょう! -
一貫性の維持:
コードベース全体の一貫性を維持するのに役立ちます。チームのコーディングルールから反していないか、自分よがりの書き方になっていないか。こういった気づきにより、コードの可読性と保守性が向上します。 -
スキルの向上:
自身のコードを他人に評価してもらうことで、自己のスキルを向上させる機会になります。初めは書いたコードを見せることに抵抗があるかもしれませんが、誰もが通る道です。臆さずコードを見てもらいましょう。
3.コードレビューの手順
さて、ここまでコードレビューの重要性や目的を語ってきました。
しかし実際にコードレビューを行う際、「どうやってコードレビューすればいいの?」となるかもしれません。
そのような初めてコードレビューを行う方向けに基本的な手順を紹介します。
3-1 仕様や設計を把握する
慣れている方であれば、どんな事をするコードなのか、ソースコードを見ただけで分かるかもしれません。
しかし、仕様や設計を把握するというのは初歩にして一番重要なポイントでもあります。
「要件に合致しているのか」
「要求された仕様は網羅できているか」
「不要な設計はないか」
まずはどのような仕様・設計なのかを把握しましょう。
3-2 コードを一通り確認する
仕様や設計を把握すると、いよいよソースコードを確認します。
確認する際、まずは全体がどのようなソースコードになっているのか一通り読んでいきます。
また適宜、実行できるテスト環境などがある場合、読むだけではなく忘れずに実行も行いましょう。開発環境によっては、実行できないケースがあるかもしれません。その場合は、その環境で実行できなくても問題がないか確認する必要があります。
またどのような点に注目して、コードレビューを行うかも重要です。
最低限、下記の事柄に沿って確認してみましょう。
- 品質:エラーやバグはないか、満たすべき要件を満たしているか、不具合につながる部分はないか、最低限の最適な設計はされているか。
- 可読性:チームのコーディングルールに則っているか、命名規則は適切か、コメントアウトの内容は明確か。
- 保守性・拡張性:自身でコピペしてカスタマイズできるか、アルゴリズムが複雑化していないか、例外処理は入っているか。
3-3 フィードバックする
3-2で確認したことをソースコード作成者にフィードバックしましょう。
この時、Googleのスプレットシートやエクセル表などにまとめると親切です。チーム内でフィードバック方法に指定がある場合は、そちらに従い書きましょう。
下記はフィードバックの一例です。
対象コード | 問題点/良い点 | 対応の重要度 | 修正案 |
ファイル名:何行目 | inputの値によってはエラーを引き起こす | 対応必須 | 例外処理を実装 |
この場合、問題点はソースコード作成者に明確に伝わるように書きましょう。実際にエラーが出ていた場合などは、どのような場面でエラーが出たのかを具体的に伝えることが大切です。
また修正案を提示する場合でも、きちんとした根拠に基づき行いましょう。こういった際にchatGPTなどを活用するのも一つの方法です。
他にもネガティブなフィードバックの際には、言葉遣いなどにも配慮しましょう。コードレビューはソースコードの粗探しという認識ではありません。より良いものを作成するため、ひいては自身の理解度を深めるためのコミュニケーション手段でもあります。
そのため、文書やチャット間でのやり取りのみならず、口頭でのやり取りも併用することが大切です。
4.コードレビューで困ったら
どうしてもコードレビューができないという方や、もっと効率的にしたいと考える場合、自動コードレビューサービスなどを活用する手もあります。本記事では、自動コードレビューツールの良し悪しについては記載しませんが、「自動 コードレビュー」と検索すると多種多様なツールを見つけることができます。
しかし、それに頼り切ってしまうのもよくありません。ツールは、不明なコードが出てきた場合や、行き詰った場合のヒントとして活用するのが良いでしょう。