ひがやすを技術ブログ

電通国際情報サービスのプログラマ

NTTデータはソースコードレビューをしている

NTTデータとの決闘シリーズ第二幕 - yvsu pron. yasのエントリで、

データは、コードレビューは、ほとんどしていないといってました。

って書いたんだけど、

主催側です。ブクマコメントにもあるとおりソースコード診断サービスを社内外に提供しており、社内では多くのプロジェクトで利用しています。

というコメントをもらいました。ソースコード診断サービスは、既に100以上の社内実績があるそうです。

NTTデータ先端技術とNTTデータ、テクマトリックスの3社は、高品質なJavaアプリケーションの開発を支援する「ソースコード診断」技術を開発し、NTTデータ先端技術が「ソースコード診断サービス」として9月から提供開始する、と8月27日に発表した。

 同サービスはJavaアプリケーションプログラムのソースコードチェックをNTTデータ先端技術が代行するサービス。利用することで、ソースコード品質の診断ができ、アプリケーションの質を向上させられるという。

 同サービスは、テクマトリックスが販売する米Parasoftのテストツール「Jtest」を使ってソースコードをチェックする。NTT先端技術、NTTデータのこれまでのソースコード診断ノウハウを基に作成したコーディングルールセットをJtestに反映させ、利用する。

 加えて、Javaアプリケーション開発に詳しいNTT先端技術、NTTデータ有識者が、Jtestの解析結果を目視で精査するメニューも用意する。チェック結果は、問題点や対応方針、修正例を記したレポートで示される。レポート提供は通常3営業日以内。

というわけで、「NTTデータは、コードレビューは、ほとんどしていない」というのは、間違いですね。ごめんなさい。


でも、ソースコード診断サービスを良く見ると、Jtestによるチェックが主ですよね。人がやるサービスもあるけど、ソースコードを見るんじゃなくて、Jtestの解析結果を目視で精査するサービス。


これは、私の思っているソースコードレビューとは違うなぁ。まぁ、ソースコード診断といっているので、ソースコードレビューと違っていて当然ですが。ツールを使ったソースコードチェックは、たいていのSIerでは行なわれているんじゃないかと思います。うちの会社でもCheckstyleFindBugsなどが使われています。
ツールを使ったソースコードチェックは、確かに有効なんですが、後追いです。


それよりも早期にメンバー同士でソースコードレビューをすることが、理解しやすいソースコードにするためには、重要です。それも早期に行なうことで、困ったソースコードが量産されるのを未然に防ぐことができます。
また、ソースコードレビューによりメンバー(レビューするほうもされるほうも)のスキルを伸ばすこともできます。いいことだらけですね。


にもかかわらず、あまりソースコードレビューが行なわれないのは、それがコストアップにつながると思われやすいからです。これは誤解で、早期のソースコードレビューによって、だめなソースコードが減り、最終的な工数は下がります。
これは、JUnitなどの自動テストを書くことが、コスト増に見えて、最終的なコストは減っているのと似ています。


ただね。早期のソースコードレビューは、うちの会社でもあまりできていないかもしれない。自戒も込めて、早期のソースコードレビューは重要だと、再度主張しておきます。