ポイント—その1 リファクタリング機能

 最近のシステム開発では,短納期,高品質を要求されるのが当たり前となってきました。このような環境では,開発者はギリギリのスケジュールの中で,より精度の高いアプリケーション開発を要求されます。その結果,プログラムは「取りあえず動く」ものになりがちです。仕様変更やバグつぶしなどの影響から「取りあえず動くコード」は冗長な部分が発生し将来的な仕様変更には対応しにくい,いわゆる「汚いコード」につながります。このように汚くなったコードを,プログラムの動作/振る舞いを変更せずに見やすい/保守しやすいコードに修正することを「リファクタリング」と呼びます。

図3●リファクタリング機能を実行するメニュー

 VS2005は,このリファクタリングをサポートする機能を装備し,コードエディタから簡単に呼び出せるようになっています(図3)。例えばメニューのトップにある「インターフェイスの展開(メソッドの展開)」は,コードエディタで選択されている処理を別のメソッドとして切り出す機能です。上から四つ目の「インターフェイスの展開」では,クラスまたはインタフェース定義からメソッドを切り出し,別のインタフェースとして集約することができます。この機能は,例えばあるクラスを作成し終わって,何か別のクラスを作ることになったときに,最初のクラスと共通したインタフェースを切り出したい場合などに使います。また,クラス内で定義したフィールド(変数)をアクセス制御が可能なプロパティとして公開する場合には,上から三つ目の「フィールドの要約」機能を使えばいいでしょう。

 これらのVS2005の機能を使えば,直感的にコーディングを始めたとしても,必要に応じて途中でソースコードを変更することが可能となります。しかもこれらの機能の多くは自動処理です。手作業による修正のように,タイプミスや修正モレなど,バグを混入させる危険性はありません。つまり,リファクタリング機能を活用すれば,品質を十分に確保したソースコードを作り出せるわけです。