2005年02月25日
川俣晶の縁側ソフトウェア技術雑記total 3129 count

テスト駆動開発とgenerics

Written By: 川俣 晶連絡先

 単なるアイデアのメモです。

 なので、内容的には全くの無保証です。

テスト駆動開発で要求されること §

 テスト駆動開発を行う際には、個々のクラスの独立性を高め、できるだけ単体でテスト可能にすることが必要とされます。つまり、クラス間の依存性を低めることが必要とされます。

genericsという機能 §

 一方、.NET Framework 2.0でC#やVisual Basic.NETなどに導入されるgenericsは、実際にインスタンス変数等が宣言されるまで具体的な型を指定しないクラスの記述を可能にします。

 通常、genericsは、不特定多数の型を扱うクラスを記述するために使います。

不特定多数の型を対象としないgenerics §

 しかし、特定の1つの型のみで使用されることを前提としたクラスをgenericsを用いて書くことは不可能ではありません。

 その場合、クラス(参照クラス)とクラス(被参照クラス)の関係は、それらのクラスの中には記述されず、それらのクラスを利用するクラス(利用者クラス)内に記述されることになります。つまり、クラス(参照クラス)のテストにおいて、クラス(被参照クラス)を無関係とすることができます。これは、テスト駆動開発には有利な特徴となります。

課題 §

 コレクション的なクラスならこの方法で実現できますが、参照しているクラスの機能を使っていると、この方法では上手く分離できない可能性があります。

 でもまあ、上手く分離できるケースがあるというだけでも価値はあるかな?

 いずれ何かの機会に実際に試してみよう……。

Facebook

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20050225175244
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.