このページの本文へ

エンジニア進化論 第5回

第5回 テクニックは人に見せないと!~コードレビュー~

2007年12月14日 12時00分更新

文● 中山康照

  • この記事をはてなブックマークに追加
  • 本文印刷

 他人に自分の書いたコードを見せることに抵抗感を持つ人が少なくないようです。そこには「見せるのが恥ずかしい」や「自分のノウハウをさらすことに抵抗感がある」などいろいろな理由があるのでしょう。ですが、他人に見せることで得られるメリットから考えると、それは非常にもったいないことです。

 というのも、自分がプログラミングを覚える過程を思い出して下さい。書籍やサンプルを見ながらコーディングをしたことは、とても勉強になったはずです。それと同じように、自分の書いたコードや他人の書いたコードをお互いにレビューすること(見せ合い、意見交換すること)は、非常に有益な学習の機会になります。たとえば自分が書いたコードを人に見せ、説明するという行為は自分の意図や考え方の整理につなげることができ、一方、他人のコードを見ることは、他の人のアイデアや方法を学ぶよい機会です。

 では、具体的にコードレビューとはそもそもどのように行なうべきものなのでしょうか。まず、コード作成者がコード作成の目的や実装上のアイデアや構成を説明し、さらに実際のソースコードを参照しながら解説して下さい。ここでポイントとなるのが「実際のコードをもとに説明する」という点です。単なるプレゼンテーション上の資料をもとにするのでは、せっかくの現場(コードを書くこと)での知恵や、実際に現物を見たときの“気づき”が生かされません。また、この時説明側は聞き手の習熟度などについても注意して下さい。もし比較的経験度の低い相手に説明するのであれば、使用している関数やメソッド、構造体などの仕様や、意図についても、相手のレベルに合わせて説明するべきでしょう。

 コードレビューは継続することが非常に重要となります。というのは継続することで、レビューをしている人たちの間に文化が醸成されていくからです。お互いに学び合い、それぞれのノウハウを共有化していき、その時点でのベスト・プラクティスを選択し続けることは、そのメンバー間でのコードの書き方が似てくることを意味します。そして似てくることで、システムのどこにどのようなモジュールが配置されているとか、同僚がよく使う機能を実現するために使用する手段がどのようなものかが、現場の人間同士ですぐにイメージがつくようになるはずです。仕事の引継ぎを楽にすることも期待できます。

 コードレビューの効果のもっとも良質な例が、オープンソースの各種プロダクトです。活発なオープンソースのプロダクトの活動は、今やインターネットの世界でも欠かせません。それらのコードは常にレビューされ続けることにより、日々進化しています。そして実際に腕試しのためにその世界に飛び込むエンジニアも多いでしょう。「日本にはすばらしい技量をもった技術者が実はたくさんいる」と筆者は日々感じています。皆さんもぜひその技術の高さを、人へ、世界へ見せていってはいかがでしょうか。

Illustration:Aiko Yamamoto

●バックナンバー
第1回 IT技術を考える~ECMAScript~
第2回 エンジニアの成長を助けるビジネススキル~PDCA~
第3回 しっかり稼げてヤリガイあり~新インクリメンタル型開発~
第4回 自分のことってわかってる?~生産性を考える~

カテゴリートップへ

この連載の記事

アスキー・ビジネスセレクション

ASCII.jp ビジネスヘッドライン

ピックアップ