次の方法で共有


再利用可能なコードをデザインする

Microsoft Office 2000/Visual Basic プログラマーズ ガイド   

ソリューションのデザイン構想がまとまったら、ソリューションでどのようにコードを構成するかについて考えます。コードを作成する方法は常に複数あります。また、少し工夫を加えることにより、コードの再利用性を最大限に引き出すことができます。この段階でコードに再利用性を与えておくと、以降の作業段階でコードを書き直すのではなく再利用できるので、コードを記述した開発者にとっても、ほかの開発者にとっても作業時間を削減できるという利点があります。また、別の状況で再利用する可能性を考慮してコードを作成すると、結果として修正が簡単で、少量かつコンパクトなプロシージャを作成できるので、コードの維持も簡単になります。

  • 実用性が損なわれない限り、1 つのプロシージャで 1 つのタスクを実行するようにプロシージャを作成します。この方法でプロシージャを作成すると再利用性が高くなります。

  • 作成するコードに対して特定の基準を採用し、その基準を一貫して使用します。コード記述の基準に関するアドバイスについては、第 3 章「安定したコードを記述する」を参照してください。

  • コメントを加えることによってプロシージャとモジュールを文書化して、開発者が以降の作業過程でコードの内容を簡単に確認できるようにします。

  • 類似したプロシージャ、または 1 つのモジュールで同時に呼び出されるプロシージャをグループ化します。この方法は、コードの機能の構成に有効なだけではなく、ソリューションのパフォーマンス向上に役立ちます。既定では、VBA は要求に応じてコードをコンパイルします。つまり、プロシージャを実行するとき、VBA ではそのモジュール、およびそのプロシージャが呼び出すプロシージャを含むモジュールをコンパイルします。コンパイルするモジュールの量が少なくなるほど、パフォーマンスは向上します。さらにパフォーマンスを向上させるには、コードをコンパイルされた状態で保存します。

  • 再利用可能なプロシージャのライブラリを作成します。コード ライブラリ ツールを使用してプロシージャとコードを保存し、必要に応じて随時使用できるようにします。Office 2000 Developer には、このようなツールとして、Visual Basic Editor のアドインであるコード ライブラリアンが付属しています。

  • 関連するコードをクラス モジュールにカプセル化して、カスタム オブジェクトを作成します。カスタム オブジェクトにプロパティ、メソッド、およびイベントを追加し、カスタム オブジェクト モデルを階層形式で構成することができます。カスタム オブジェクトを作成してテストしたら、このオブジェクトは "ブラック ボックス" として扱うことができます。つまり、開発者とその他のプログラマは、オブジェクトに含まれるコードを考慮せずにオブジェクトを使用することができます。コードに対する管理作業を行う場合は、クラス モジュール内で変更を加えるだけです。

  • カスタム オブジェクトの機能を拡張するインターフェイスを作成します。インターフェイスには、そのインターフェイスをインプリメントするカスタム オブジェクトのプロパティ、メソッド、およびイベントの基本的なセットが含まれます。インターフェイスを使用することによって、共通のコードを使用し、密接に関連しながらも明確に区別されたオブジェクトを作成することができます。

  • Visual Basic を使用する場合は、カスタム オブジェクトを含む .dll または .exe ファイルであるオートメーション (旧 OLE オートメーション) サーバーを作成できます。カスタム オブジェクトを異なる .dll または .exe ファイルに含めると、オートメーション サーバーを呼び出す場合と同様に、プロジェクトにそのオブジェクトのコードを含めずに、すべての VBA プロジェクトからファイルを呼び出すことができるという利点があります。詳細については、Visual Basic 5.0 または Visual Basic 6.0 のドキュメントを参照してください。

効果的なコードのデザインについては、第 3 章「安定したコードを記述する」、第 7 章の「Visual Basic for Applications を最大限に活用する」、第 9 章「カスタム クラスとオブジェクト」、および第 10 章「Windows API とその他のダイナミック リンク ライブラリ」を参照してください。