レビューってどうやるのか?

みなさん、レビューってどうやってますか?
基本は誰かに見てもらうのが主流かと思います。ただ、やっぱり人に見てもらうからにはある程度ちゃんとした状態で見てもらいたいってのもあります。

そこで導入した、自己レビューのためのGerrit。「レビューの前に自分で書いたコードを自分でレビューしています!」というと、本気で不思議に思われたので、僕の思考回路を整理しておこうと思います。

まず、僕にはコードを書く自分がいます。「仕様通りに動くぜ、ヒャハーー!!」という世紀末的思考思った人で、とにかく仕様通りに動くものを早く書くことにしか興味がない人です。一応、コードの見栄えなんかも気にはしますが、とにかく動くものが出来ればいいって感じで突き進んでいきます。

で、彼がGerritにプッシュしたコードを今度はコードを読む自分がレビューします。見るのは以下のようなポイントです。

  1. ネストは深くなってないか?
  2. 余計なループは作ってないか?
  3. 変数名や関数名は適切か?
  4. 一つの関数が役割を持ちすぎていないか?

こんな感じです。
これに仕様周りやプロジェクトごとの決まりごとなんかを加味しながら、プッシュされたコードを見ていきます。

当然ですが、Gerritを使っていますのでコメントを書きます。「ここのループいります?」とか「変数名はこっちがいいね」とか…これに関しては、後から確認するための備忘録的な感じです。

あとは「読む自分」が満足するまで繰り返した後に他のレビュワーの人に見てもらいます。ここまでが1サイクルですね。
レビュワーからの指摘を受けて、また同じように「修正→自己レビュー」を行っていきます。

本来ならば書いてる時に自己レビューするのが一番いいんです。でも、僕はこんな感じで頭を切り替えたほうがいいのでこの方法でやっています。
大事なことは「わかりやすく読みやすいコード」を書くためなので、そのためにいろいろ試行錯誤しながらやっていきましょう!