logologo
コードレビューを初めて行う人必見!やり方を1から解説!
thumb_codereview_01

コードレビューを初めて行う人必見!やり方を1から解説!

アンドエンジニア編集部
2024.12.10
この記事でわかること
コードレビューは、手順と意識すべき観点を覚えておくことが基本
コードレビューは時間をかけすぎるのも良くないため、効率的に行うことを意識する
コードレビューはやる側もITエンジニアとしての成長に繋がる

コードレビューはプログラムの品質を担保する重要な工程

img_codereview_01

コードレビューとは、プログラムのソースコードを作成者とは別の人が検証し、フィードバックを行うことです。コードの作成者を「レビュイー」、レビューを行う人を「レビュアー」と言います。

コードの作成者も人間なので、完璧なコーディングができていることは少ないです。間違いや脆弱性などの問題をはらんでいることが多々あります。

そこで、他者がコードレビューを行ってさまざまな観点から検証することで、このような問題を見つけ、プログラムの品質を担保することができるのです。

プログラマ・システムエンジニア(オープン・WEB)の転職・求人情報を見る >

コードレビューの基本的なやり方

img_codereview_02

まずはコードレビューの基本的なやり方を解説します。どういう手順で行うべきか、1から説明します。初めてコードレビューを行う方は、まずはここから確認していきましょう。

仕様を把握する

コードを読む前に、まず「システムの仕様を把握すること」が重要です。どのような機能をもつシステムなのかを把握しないと、コードのどこを指摘したらいいのか分からず、仕様通りに書かれていない箇所の指摘もできません。

また、コードレビューに慣れていない場合、仕様を頭に入れていないとコードが読み解けないことも多いです。コードレビューをする箇所の仕様書を読み込み、何を作ろうとしているのか全体像を確認しましょう。

コードを一通り読んで確認する

仕様書を一通り理解したら、コードを一通り読んでいきます。書き方が良くなかったり、非効率な処理をしていたりする部分などがあればメモしておきましょう。

また、コードを自分の開発環境でも実行し、エラーが出ないかもチェックします。環境が変わると、エラーが発生するケースも多いためです。こういった地道な作業が、コードレビューでは必要です。

コードの問題点を指摘する

メモした内容を基に、問題点を口頭・Github・チャットツールなどで指摘します。また、問題点を指摘する上で参考にした資料などがあれば提示・添付すると良いでしょう。

新人が問題点に関する質問をしてきたら、きちんと答えられるようにしておくことも重要です。レビューをする際は同じミスを繰り返さないよう、相手に分かりやすく伝えることを意識しましょう。

エンジニア転職を成功させるため
ぜひ『マイナビIT エージェント』をご活用ください!

コードレビューで意識すべき観点

img_codereview_03

ここでは、コードレビューで見るべき具体的なポイントを紹介します。特にコード量が多い場合、最初から最後まで熟読するのは大変です。見るべきポイントを抑えて、そこを重点的に確認すれば、コードレビューの時間を短縮できるでしょう。1つ1つの観点を詳しく解説していきます。

自社のコードルールに則っているか

まずは、自社のコードルールにしっかり則って書かれているコードかを確認しましょう。インデントやコメントの書き方など、それぞれの会社でルールが設けられているはずです。

特に他の会社でエンジニア経験がある方の場合、自社のコードの書き方ではなく、前職での書き方をそのまま使っているケースも多いです。そういった場合は、自社のコードルールに則っていない旨を指摘しなければなりません。

コメントが分かりやすく書かれているか

コメントが分かりやすく書かれていないと、仕様変更を行う際や他の人に担当部分を引き継ぐ場合に苦労します。エンジニアによっては、コメントを全く書かない人や、逆にコメントが多すぎる人もいます。ソースだけでなく、コメントが上手く挿入されているか確認すると良いでしょう。

バグを生み出しやすい部分がないか

コードレビューを行う主な目的は、「バグを潰す」ことです。プログラマーをある程度の期間続けていると、どの部分がバグを生み出しやすいか感覚が掴めていると思います。その感覚を頼りに、バグが出そうな部分を重点的にチェックしましょう。

たとえば、if文がネストされている部分や無限ループが使われている部分、変数名が分かりにくい部分などはバグが出やすいです。また、なるべくバグを生み出しにくいコードを書くように指示することも大切です。。

仕様変更の際に修正箇所が多くならないか

コードレビューは、今後の仕様変更のことも考えて行いましょう。仕様変更が発生すると予想される箇所のコードは、修正部分が少なくなるよう記述するのが重要です。たとえば、同じような処理を関数にまとめることなどが該当します。後に修正箇所が多くなりそうな部分も、丁寧にレビューすることが大切です。

例外処理は入っているか

例外処理が入っていないケースもよく見られるため、そこも重点的に確認しましょう。ユーザーが想定外の動作を行った場合に、プログラムがエラー文を出さないかチェックします。例外処理が入っていない場合は、例外処理を書く必要がある旨と、書き方の例をコメントしておきましょう。

コードレビューの観点とは?やり方や便利なツールについても紹介!

コードレビューを効率化させる方法

img_codereview_04

コードレビューは、あまり時間をかけすぎるのも良くありません。時間をかけすぎると、自分の業務に影響が出てしまうことがあります。そこで、コードレビューを効率化させる方法を解説します。レビューすべきコード量が多い場合などは、これらを意識してみてください。

レビューの目的を明確にする

レビューの目的を明確にすることは重要です。たとえば「バグをなくす」「効率的なコードの書き方を教育する」など、目的はそれぞれ異なります。レビューの目的が決まれば、その部分のみに絞って効率的にチェックできるでしょう。

自動コードレビューサービスを使う

「自動コードレビューサービス」というものもあります。コードを入力すると、ツールがコードを自動解析して、問題点をコメントしてくれます。また、解析ルールをカスタマイズし、自社仕様にすることもできます。

もちろん、こういったサービスに頼り切るのは良くありませんが、要所で活用することでレビュー時間を短縮できるでしょう。「Codacy」や「Hound」などいくつか種類があるので、試しに使ってみてください。

【参考】:Codacy 【参考】:Hound

主要なコードレビューツールを紹介!ツールがなぜ必要かについても解説

レビューの役割分担を行う

レビューする箇所が多い場合は、役割分担を行うことも検討しましょう。たとえば「コードが仕様書通りか確認する人」と「コードの書き方が規約に則っているか確認する人」に分けるなどです。

役割分担することでそれぞれがピンポイントで確認できるため、レビューの質も上がるでしょう。役割分担に関しては、上司に相談してみるのが良いです。

コードレビューを行う際の注意点

img_codereview_05

コードレビューする際の注意点も解説していきます。これらの注意点も意識しないと、人間関係を悪くしたり、レビューの質低下に繋がったりします。ある程度コードレビューを行ってきた人でも注意点を守れていないことがあるので、どういった点に気をつけるべきか、1つ1つ解説していきます。

その人自身の否定はしない

コードの悪いところを否定しても、コードを書いたその人自身を否定してはいけません。「なぜこんなこともできないのか」と、高圧的な態度やイライラした態度を取るのも止めましょう。相手との関係を悪くしたり、相手がコードレビューに嫌悪感や「怖い」という感情を抱くことに繋がったりします。

悪い箇所を指摘する際は、淡々と事実のみを話し、自分の感情を介入させないようにします。また、チャットなどで伝える場合は絵文字などを使って柔らかい雰囲気を出すのもコツです。

柔軟な対応を見せることで、疑問点などが生じた際にレビュイーが新人でも萎縮することなく質問してくれるようになるでしょう。あくまで「レビューするのは相手に対してではなく、コードであること」を意識するのが重要です。

なぜこうすべきか根拠を話す

悪い部分を指摘する際はなぜこのような書き方をすべきか、根拠を話すことも重要です。たとえば「コード規約に書かれているから」という説明では、相手は納得しにくいです。

コード規約に則るとどんなメリットがあるか、分かりやすく話すことが重要です。そうすることで初めて相手は納得し、改善もしやすくなります。

また、レビューする際に参考にした本などがある場合は、それを見せるのも効果的です。「なぜそうすると良いのか」をきちんと説明することは、コードレビューを行う側の理解度アップにも繋がります。

具体的な修正案を示す

コードレビューをする際は、具体的な修正案も示してあげましょう。その方が相手もどのように変更すべきか分かりやすくなります。また、言葉ではなかなか伝わりにくい部分も理解させることが可能です。

もちろん、具体的な修正案を示すのには時間もかかりますし、あまりに細かすぎると否定的な態度を取るのと同様に人間関係に悪影響を及ぼしかねないので、適度な範囲で行いましょう。

良い部分は褒める

悪い部分を指摘するだけでなく、良い部分があれば褒めるようにしましょう。コードレビューを行う上で大切なのは、やる側とやってもらう側の信頼関係です。悪い部分ばかり指摘するのは、信頼関係を築く上で好ましいことではありません。

また、良い部分を褒めることで、エンジニアとしての自信がつき、レビュイーの成長速度を早めることにも繋がります。良い部分や「なるほど」と思う部分も必ずあると思うので、コメントしてあげるようにしましょう。

疑問点は本人に質問する

書き手の意図が分からない部分は、「なぜこういう書き方をしているのか」直接本人に質問しましょう。質問することで、レビュアーの読解力が不足しているのか、コードの書き方に問題があるのかが分かります。

また、レビュイーの説明力や理解力をアップさせることにも繋がるでしょう。ただし、問い詰めるような言い方はせず、穏やかな雰囲気を意識して対応することが重要です。

コードレビューはやる側の成長にも繋がる

img_codereview_06

コードレビューはやってもらう側だけでなく、やる側の成長にも繋がります。コードレビューを行うことで、読みやすいコードはどういったものなのか分かってくるため、自分がコーディングをする上でも役立つでしょう。

自分は上手くコーディングができていると自負していても、他の人が書いたコードを読むと、新たな気づきや学びを得られることも多いでしょう。

スキルアップのためにコードレビューを行う場合も

プログラムの品質を担保する目的でコードレビューを行う場合は、豊富な知識や経験を持つ上級者がレビューを行うのが一般的です。しかし、コードを書いた人と同等のスキルレベルを持つプログラマーや、初心者がコードレビューを行う場合もあります。

こういったやり方には、同じレベルの人同士でレビューすることでお互いにスキルを高め合ったり、初心者が上級者の優れたコードを読むことで効果的な学習につながったりするメリットがあります。

まだ自分のコーディングに自信がないという人も、このような教育に力を入れている企業もあるので、転職エージェントなどに一度相談して効果的にスキルアップできそうな環境を探してみるのも良いでしょう。

あなたに合った企業選びをサポート致します。
エンジニア転職のご相談はぜひ
『マイナビIT エージェント』へ!

ITエンジニアにとってスキルアップは重要

ITエンジニアは、スキルが重要視される職種です。評価されるだけのスキルがなければ自身の市場価値は上がらず、キャリアアップや年収アップは実現できません。

プログラマーの年収は「マイナビエージェント職業別年収ランキング/職種図鑑」での平均年収は344万円(※2024年11月執筆時点)、経済産業省2017年発表の「IT関連産業の給与等に関する実態調査結果」から近い職種のエンジニア/プログラマを参考にすると、平均年収592万円と分かりました。

国税庁2020年発表の民間給与実態統計調査における民間企業平均年収は433万円なので、プログラマーは一般平均年収と比べてやや低めのこともあれば、高めのこともあることが分かります。

このようにバラつきがあるのも、スキルによって年収が大きく変わるからだと考えられます。コードレビューをはじめとするスキルアップの機会を逃さず、常に向上心を持って取り組むことが、ITエンジニアとしての活躍につながります。

【参考】:マイナビエージェント職業別年収ランキング/職種図鑑 ※【平均年収 調査対象者】2020年1月~2020年12月末までの間にマイナビエージェントサービスにご登録頂いた方 【参考】:IT関連産業における給与水準の実態① ~ 職種別(P7) 【参考】:民間給与実態統計調査-国税庁

コードレビューのやり方をマスターしてチームのレベルを上げよう

img_codereview_07

本記事では、コードレビューのやり方について解説しました。どういった手順でコードレビューを行うべきか、お分かり頂けたかと思います。

コードレビューはプログラムの品質を担保できることはもちろん、レビューをする側もされる側も学びを得られるメリットがあります。コードレビューの目的ややり方を知り、効果的なレビューができると、チームのレベルも向上します。

質の良いコードレビューができれば人間関係にも好影響を与えますし、コミュニケーションの活性化やスキルアップのためのコードレビューに取り組んでいる企業もあります。こうした環境に身を置くのも、ITエンジニアとして成長する方法の1つです。

そこで利用を推奨するのがマイナビIT エージェントです。

マイナビIT エージェントは、IT・Webエンジニア向け、無料の転職⽀援サービスです。

IT・Webエンジニアの転職事情に詳しいキャリアアドバイザーが、あなたのご経験やスキルをお伺いし、転職活動のプランをご提案します。

アドバイザーは企業側と直接連携を取れるので、求人票に載っていない情報も確認することができます。こちらで、働き方などをしっかり確認の上、応募企業を選んでいくのが良いでしょう。

未経験からのキャリアチェンジは心身ともに本当に大変だと思います。少しでもご自身の負担を減らすべく、エージェントサービスを活用して、失敗のない転職活動に臨んでいただければ幸いです。

\転職するか迷っていてもOK!/
マイナビエージェントに無料登録して
転職サポートを受ける
気になる人のXをフォローしよう!
公式LINE
公式YouTube
マイナビITエージェント

編集部オススメコンテンツ

thumb_gptowten_01
ChatGPTの面白い使い方15選!ビジネスや遊び相手になる事例
アンドエンジニア編集部
2024.02.19

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供

カテゴリー

編集部おすすめコンテンツ

アンドエンジニアへの取材依頼、情報提供などはこちらから

logologo
Powered by マイナビ AGENT