第2回:Visual Studio 2005で進めるテスト駆動開発 (3/4)

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で進めるテスト駆動開発
  はじめに
  ソースコードが効率的に作成・修正できること
リファクタリング
  「統合」開発環境のメリット
Visual Studio 2005を活用した、テスト駆動開発とソフトウェア品質向上アプローチ
第1回 テストは開発者から利用者の視点へ
第2回 Visual Studio 2005で進めるテスト駆動開発
第3回 Visual Studio 2005 Team Systemで補うテスト駆動開発
第4回 チーム開発における品質向上策とVisual Studio 2005
開発ライフサイクルとVisual Studio 2005という選択肢
第1回 開発ライフサイクルが生むメリット
第2回 アーキテクチャ策定における有効性を探る
第3回 Visual Studio 2005による開発とテスト環境
第4回 チーム開発とVisual Studio 2005 Team Foundation Server
チーム開発ここまできた、個人からチームの生産性向上へ
第1回 Visual Studio 2005によるプロジェクトの進捗管理
第2回 Visual Studio 2005の変更管理の有効性
第3回 成果物の管理とプロジェクトのコミュニケーション向上
第4回 自動ビルドによるプログラムの品質・保守の有効性

人気記事トップ10

人気記事ランキングをもっと見る