はじめに
「プログラミングに関する雑多な事柄」
コードレビューの方法
コードレビューは、
自分の書いた文章を人にレビューしてもらうには、
コードレビューの場合も同様の方法で行えます。コードレビュー用の市販ツールなどもありますが、
コードレビューのメリット
それでは、
- コメントの充実
- コードを書いた本人にとっては当たり前と思えるような処理も、
他人から見ると何をやっているのかよくわからない、 ということは多々あります。 「ここ、 わかりづらいからコメントつけといて」 というフィードバックに基づいてコメントを充実させていくと、 のちのちのコードのメンテナンスに役立ちます。 - 変数名、
関数名などの改善 - コードを読みやすくする秘訣のひとつは、
変数や関数にわかりやすい名前をつけることです。私の場合、 以前、 「is_ data_ initialized という変数名よりdata_ is_ initialized のほうがif文の中で自然に読めるからわかりやすいよ」 というフィードバックをもらって感心したことがあります。確かに、 - から記号を除くと "if data is initialized" となり、
「もしデータが初期化されていたら」 という自然な英語になります。 - バグの発見
- 気をつけてコードを書いてテストを行っていても、
うっかりミスで初歩的なバグを入れてしまうことはなかなか避けられません。他人の目を通すと、 そうしたうっかりミスをキャッチできます。 - APIの改善
- クラスや関数の使いやすいAPIを設計するのは難しいことです。必要な機能が欠けているのは一番困りますが、
呼び出しが煩雑なのも困りものです。コードを共有するメンバーからのフィードバックで、 APIが洗練されていきます。 - リファクタリング
- 「よし汚いコードを書くぞ!」
と言ってわざわざ汚いコードを書く人は (特殊な状況を除けば) いません。しかし、 そのつもりはなくてもいつのまにか汚いコードになっていたりします。コードレビューを行えば 「ここのコード、 ほかと重複しているから関数にしてまとめたら?」 のようなフィードバックによって汚い部分の洗い出しができます。 - ノウハウの共有
- ちょっとしたノウハウを知っていれば、
短くわかりやすく書けることでも、 それを知らないと、 煩雑なコードになってしまうことがあります。同様に、 ちょっとしたノウハウを知らないためにセキュリティ上の問題となるコードを書いてしまう、 という場合もあります。 - コードレビューはそのようなノウハウを交換するのに非常に有効です。
- その他
- このほかにもコーディングスタイルの統一、
パフォーマンスの改善やテストケースの充実など、 コードレビューを通じて得られるメリットはたくさんあります。
if (data_is_initialized) {
コードレビューのコツ
自分のコードを人にレビューしてもらうのは、
こうしたトラブルを避けるには、
それから、
まとめ
今回はコードレビューについて書きました。コードレビューは、