TOPプロジェクト管理> リファクタリング




Visual Studio 2005を活用した、テスト駆動開発とソフトウェア品質向上アプローチ
Visual Studio 2005を活用した、テスト駆動開発とソフトウェア品質向上アプローチ

第2回:Visual Studio 2005で進めるテスト駆動開発
著者:日本ユニシス  稲葉 歩   2005/12/6
前のページ  1  2  3   4  次のページ
リファクタリング

   コーディングしていると、ロジックの共通部分をメソッド化したり、変数の名前を変更したりして、プログラムの機能を変更せずにコードを改善していくことがよくあります。

   「このような修正を安全に実施するためのノウハウをパターン化したもの」をリファクタリングパターンと呼びます。テスト駆動開発において、リファクタリングは状態がグリーンになった際に必ず実施する作業となっています。

   VS2005 Team Systemにはリファクタリングパターンを適用する機能があります(注3)。このようにいうと、この機能を実行すれば勝手にコードをどんどん書き換えて洗練してくれるような気がしますが、実際にそんなことはありません。

※注3: 実際にはTeam Editionの固有の機能ではありません。

   よく知られるリファクタリングパターンの一部分に対応しているだけですので、既存のコードのどの部分にどんなパターンを適用するかは開発者がVS2005 Team Systemに指示しなければなりません。期待はずれに聞こえるかもしれませんが、作業を自動化してくれることでパターン適用のミスも減らせますので意外と便利です。

   VS2005 Team Systemで利用可能なリファクタリングパターンの1つとして「Extract Method」というものがあります。これはコードの一部を新たなメソッドとして抽出するリファクタリングです。利用方法は簡単で、メソッドとして抽出したい部分を右クリックし、「Refactor → Extract Method」を選択しメソッド名を入力します。

   図4はユニットテストの紹介に使用したサンプルコード(注4)に、Extract Methodを適用した例です。

※注4: リファクタリングのサンプルとして紹介するために、状態がグリーンになるように修正しています。

   ここでは郵便番号が不正か否かを判定する部分を、別メソッドとして抽出しています。

リファクタリング(Extract Methodの適用)
図4:リファクタリング(Extract Methodの適用)
(画像をクリックすると別ウィンドウに拡大図を表示します)

   修正としては非常にシンプルなものですが、VS2005 Team Systemを使用することで機械的にパターンを適用でき、リファクタリング作業のミスが発生しにくくなります。

前のページ  1  2  3   4  次のページ


日本ユニシス株式会社 稲葉 歩
著者プロフィール
日本ユニシス株式会社  稲葉 歩
.NETテクノロジコンサルティング所属
.NET Frameworkを中心としたシステム開発プロジェクトにてアーキテクト、トラブル対応、営業支援、などを主に担当しています。


INDEX
第2回:Visual Studio 2005で進めるテスト駆動開発
  はじめに
  ソースコードが効率的に作成・修正できること
リファクタリング
  「統合」開発環境のメリット