Help us understand the problem. What is going on with this article?

【初心者向け】コードレビューで気をつけるべき 9つのポイント

More than 1 year has passed since last update.

TuneCore Japan でエンジニアをしています、ようへいです。

新卒で入社してから数年が経ち、最近は頻繁に、
他の開発メンバーの コードレビュー をするようになってきています。

僕自身、数年前までコードレビューなんて ほとんどやったことがなかった のですが、
僕に限らず、コードレビューで気をつけるべきポイントを知りたい!という人は、
意外と多いのではないでしょうか。

そこで今回は、自分がこの何年かで得た、
コードレビューで気をつけるべき9つのポイント を紹介したいと思います!

初心者向けに、表面的な部分を多めに書いておりますので、
中級者以上の方は、温かい目で見守ってくださると嬉しいです。
(本記事は、組織を代表とした意見ではなく、あくまでも一個人での意見になりますのであらかじめご了承ください。)

1. どの程度の細かさまでチェックするか決めておく

まず、コードレビューを実際に始める前に、「どの程度の細かさまでチェックするか」を決めておいた方が良いです。
つまり、超ざっくりのスピード重視レビューが良いのか、または、一行一行詳細に見ていく品質重視レビューがいいのか、を決めておくということです。

これは、企業や組織のフェーズにもよるところではありますが、この基準が曖昧だと、チーム全体でのコードレビューの方針にブレが出てきてしまうため、あらかじめ「どの程度の細かさまでチェックするか」を、上司に相談するなり、チーム内の会議などで統一するなり、しておいた方が良いでしょう。

2. コード変更の目的・全体の変更を大まかに把握する

次に、コード変更の目的を把握しましょう。
多くの場合、プルリクエストの説明欄などに書いているかと思いますが、何の説明もない時もあるかもしれません(!)。
その場合は、コードを書いた人に、説明を求めるようにしましょう。
レビューする側の推測で、コードを読んでいくのは危険です。

コード変更の目的がわかったら、全体の変更(どのファイルに変更があるのか)を大まかに把握しましょう。
触るはずのないファイルに変更が加えられている場合は、よく注意して見るようにしましょう。間違ってコミットしてしまった、などはよくある話かと思いますので、その場合は指摘しましょう。

3. コードスタイルが正しいか

次に、コードスタイルを確認しましょう。
ここでいうコードスタイルとは、インデントや、命名規則、関数の長さなどを指します。

チーム内でスタイルガイドなどを定めている場合には、それに従っているかをチェックしましょう。決して個人の好みを押し付けず、コードに一貫性を持たせましょう

スタイルガイドに書いていないスタイルについて議論するときも、「一貫性」を観点にすると良いでしょう。
例えば、「現在のプロジェクトのソースでは、XXXという書き方が多数派だから、それに統一しましょう」などと指摘できると良いでしょう。

また、レビューをしていると、「この人はなぜこういう書き方をしたんだろう?」と思う時もあります。
その場合は、コードを書いた人自身に、積極的に聞いてみましょう。
思わぬ意図がわかる場合があります。

4. タイポ(誤字)していないか

タイポは、気づきづらいかもしれませんが、レビューしている時に、
この英単語ってこんな綴りだったっけ?」と思ったら、すぐに調べましょう。
また、よく知らない英単語を見かけたときも、調べるようにしましょう。

もし間違っている場合は、必ず指摘しましょう。これを放っておくと、後からソース内を検索した時に引っかからないなど、二次災害が起きる可能性があり危険です。

5. 変数名・関数名は適切か

変数名・関数名に関しては、「スタイルガイド上は合っているが、何をしようとしているのかわからない」という場合があります。

その場合は、自分以外の人が見てもわからない可能性があるので、指摘すべきです。できるだけ、「分からないのは自分だけなんだろうな...」などとネガティブに思わないことが大切です。
自信を持って、「このコードはわかりにくい」と言うようにしてみましょう。

また、変な略し方をしている変数名・関数名なども、指摘した方が良いでしょう。
(その場合は、「変数名がわかりづらいので、近辺にコメントアウトで説明を記載してください」というような指摘でも良いかもしれません。)

6. コメントは、具体的に書く

コードレビューをし、実際にコメントを書く際は、具体的に書くことを心がけましょう。
以下の3点に気をつけると良いかと思います。

  • 何行目の何が悪いのか
  • なぜ悪いのか
  • どう直したら良さそうか

悪いコメントの書き方だと、何を直せば良いのかがわからず、余計なコミュニケーションが発生してしまいます。
きちんとした文章で、コードを直す側が、具体的に何をどうしたら良いのかを、コメントに書くようにしましょう。

また、丁寧な言葉遣いにすると、指摘された側も直しやすいかと思います。
思いやりを持って、人格を否定するような言い回しは避けましょう。

7. 何回か同じミスをする人の場合は指摘する

コードレビューを繰り返していると、「あの人はこういうところでミスしやすいな」というのが、わかるようになってきます。
ミス自体は、人間である以上は仕方ないので、「〇〇さんはこういうところでミスしやすいですよ」と伝えるようにした方が良いです。

ただ、そもそも、コードレビューに出す前に、書いた人自身が自分のコードをコードレビューする、ということをしないとミスは減らないように思います。
ですので、ミスが多い人の場合には、「コードレビューに出す前に、一度自分で確認してください」と伝える必要があります。

8. 慣れてきても、適当に見ないこと

コードレビューをし始めて何ヶ月かすると、慣れてきます

そうするとだいたい、適当になってきます。「仮にコードが間違っていても、書いた人が悪いから自分には関係ない」というような悪魔のささやきが聞こえてくるかもしれません。

ただ、こういう時に限ってバグが紛れていたりしますので、慣れてきたからといって、気を抜かないようにしましょう。

一方で、「この人はこの分野に関しては詳しいし、よく書けているのも何回か見た」ということであれば、少し力を抜いても良いかもしれません。要注意してチェックする必要があるのは、その人がよくミスするポイントです。

9. いいコードだな、と思ったらフィードバックする

最後は、ポジティブなポイントで終わりにしようと思います!

他の人のコードをみていると、自分も知らないような、良い書き方を見ることもあります。
その場合は、できるだけ、「いいね」の意思表示をするようにしましょう!

まとめ

コードレビューも、練習が必要です。
慣れるまでは大変かもしれませんが、練習することで必ず上達します。

コードはチームの資産であるということを強く意識し、
気を抜かずにレビューしていきましょう!

wano-inc
「Cultivate your dream」をミッションにクリエイター・アーティストを支援する事業やサービスを展開
https://wano.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした