Methodology & Design Article
プログラムの品質向上テクニック
第1回 さまざまな角度からソース・コードを検証する
プログラムの品質を高めることは、システム上の不具合を回避するうえで、とても重要です。本連載では、NTTコムウェアの「Javaソースコード検査チーム」がまとめた、プログラムの品質を高めるのに役立つテクニックや、多くのプログラムで見られるバグのパターン(バグ・パターン)を紹介します。
2006年6月26日更新
多方面からプログラムを検証する
皆さんの中には、以下のようなシチュエーションに遭遇した方もおられるのではないでしょうか。
|
上記のように、本稼働後のシステムに不具合が発生した場合は、その対応に相当のコストがかかってしまいます。
こうした状況を回避するべく、筆者が所属するNTTコムウェアでは、「Javaソースコード検査チーム」という専門部隊を通じて、プログラムの検査を実施しています。例えば、これまでの実績データ(総検査規模は十数万ラインに上る)を基に、バグとなりやすいコード・パターン(バグ・パターン)を分析し、そうした実装部分を検査ツールなどで抽出します。そして、バグ・パターンの周辺を重点的に調べ、不良個所を特定するといった具合です。
ただし、バグ・パターンを用いた不具合の特定作業の前に、プログラムを多方面から概観する必要もあります(詳細は後述)。そのうえで、「つぶせるバグがまだ残っているはず」という“もう一押し”的な心構えでバグ・パターンを検出/分析することが、プログラムの品質をより高めることにつながるのです。
本連載では、NTTコムウェアにおけるソース・コード検査の実績から得られた、高品質なプログラムを実現するのに有用なテクニックやノウハウを数回にわたって紹介します。初回となる今回は、プログラムをどのような観点で検査すべきかについて解説します。併せて、「Javaソースコード検査チーム」が採用する検査ツールも取り上げます(ただし、本連載の主旨とは異なることから、各ツールの詳細な説明は割愛)。
以下、NTTコムウェアでのソース・コード検査フローに沿って解説します。その作業手順は以下のとおりです。
(1)プログラム規模の測定とアーキテクチャの分析
(2)Javaソース・コードの文法チェック
(3)JSP/HTMLデータのチェック









