ポイント—その2 ビジュアルなクラス設計機能

図4●「ダイアグラムで表示」メニュー
図5●筆者が作成したダイアグラム。UMLのクラス図と似ている

 リファクタリング機能に加えて,VS2005で注目すべき機能に,クラスビュー・ウィンドウの右クリック・メニューからアクセスできる「ダイアグラムで表示」があります(図4)。

 クラスの積み重ねで作成する .NETプログラミングのアプリケーションでは,ユーザーが独自に定義したクラスを作ることが少なくありません。ベースとなるクラスから多くのクラスを派生させたり,.NET Frameworkで準備されているinterfaceを自作クラスに実装させたりと,アプリケーション作成が深まるにつれてクラスの関係は複雑になります。クラスが持つメソッド,プロパティ,フィールドなど,クラスの内外で利用する項目も増えてきます。

 現行版のVisual Studio .NET 2003では,ツリービュー形式のクラスビューを使ってアプリケーションに含まれるクラスの内容を確認することができますが,クラス間のつながりも含めてクラスの全貌を確認するには少し使いにくいものがあります。これが,VS2005に搭載されたダイアグラム機能を使うと,クラスの定義をはじめ,クラス間の関係,クラスの継承,interfaceの継承を,UMLに似た図(ダイアグラム)で表示させることができるのです。

 ダイアグラム機能は表示だけでなく,ダイアグラム上でメソッド,プロパティ,フィールドの追加はもちろん,コメントの記述も可能です。ダイアグラムで変更された内容は,そのままコードにも反映します。また,ダイアグラムを表示している状態では,ツールボックスの内容がダイアグラム用に変更されており,アイテムをダイアグラム・エディタにドラッグアンドドロップすることで,新しくクラスを追加したり,継承関係を作成したりすることも可能となります。

 図5[拡大表示]は筆者が独自に作成した,CSV形式のデータを扱えるクラスのダイアグラムです。ソースコードそのものは300行にも満たない小さいものですが,ノートパソコンの画面のように一度に40行程度しか閲覧できない環境だと,クラスの全貌を把握するためにコードエディタのスクロールバーを何度も上下させる必要がでてきます。

 しかしVS2005のダイアグラム表示を使えば,クラスが継承しているinterface,クラスの依存関係,クラスが持つメソッドやフィールドなどの全貌を,10インチちょっとの小さな画面であっても確認できるようになります。これは何も小さい画面に表示できるから良いと言っているわけではありません。思考を中断させることなくアプリケーションの全体像を把握できるようになるというのは,開発者にとってそのまま開発生産性につながると言うことなのです。

 前述のリファクタリングの機能とダイアグラム機能は,コード開発という点を重要視する開発者であれば,徹底的に活用するべき機能です。もちろんVS2005は,他にも優れた機能を多く搭載する予定ですが,コード開発の生産性を直接的に高めるのであれば,この二つの機能が最も重要だと言っても過言ではないでしょう。