レビューのアウトプットは、レビューアのレベルを超えない [プログラマー現役続行]
拙著『プログラマ”まだまだ”現役続行』では、コードレビューに関して以下のことを述べています。
私からすると初歩的なバグなのですが、レビューでは誰も指摘していないという状態です。初歩的なバグと言っても、正しい知識を持っているかどうかによるものであり、持っていなければ見落としてしまう種類のものでした。
コードを複数の開発メンバーでレビューした結果のコードの質は、レビューに参加したレビューア以上のものにはなりません。つまり、いくらコードレビューが効果的だとはいっても、プログラミングの初心者どうしが集まってお互いのコードをレビューしたところで、その質には限界があります。たとえば、先日、5名で2回コードレビューされたコードをたまたま見てみました。私はレビューには呼ばれていなかったのですが、ちょっと読んで何をしているのかと調べてみたら、明らかに機能していない実装(つまりバグがある実装)に気づきました。
ペアプログラミングによって、コーディングを行いながらレビューした場合も、まったく状況は同じです。つまり、ペアプログラミングによってコードの品質が向上するかどうかは、誰とペアプログラミングしたかに依存します。
時間をかけてコードをレビューするのですから、レビュー結果として高い質を求めるためには、対象とする領域に関する技術知識を持ち、読みやすいコードを書くことに関しても知識とセンスを持つソフトウェアエンジニアがレビューアとして参加する必要があります。
しかし、現実には開発プロセスとしてコードレビューが完全に取り込まれていなかったり、多くの初心者が中心となったソフトウェア開発が行われたり、レビューアとなれるレベルに達する前に開発から管理業務へ移ったりする結果、レビューアが育っていないというのが、多くの開発現場の実情ではないでしょうか。
特に、コードの読みやすさに重点を置かないレビューを実施してきた、あるいは、全くレビューを実施してこなかった開発組織では、レビューアとなれるソフトウェアエンジニアはほとんどいないかもしれません。
開発組織として、実質的で効果的なコードレビューを行うためには、レビューアとして高いレベルのソフトウェアエンジニアが不可欠です。
『プログラマ”まだまだ”現役続行』(204頁)
私からすると初歩的なバグなのですが、レビューでは誰も指摘していないという状態です。初歩的なバグと言っても、正しい知識を持っているかどうかによるものであり、持っていなければ見落としてしまう種類のものでした。
2011-03-10 06:47
nice!(0)
コメント(0)
トラックバック(0)
コメント 0