1

これは、この回答に対するフォローアップの質問です: https://stackoverflow.com/a/9579131/1204799

「ルートベースのコンポーネントを作成するのが最善です」

いくつかのスタンドアロン アプリケーションがある場合 (つまり、それらの開発と配置が独立していることを意味します)、それらに対応するために別の VOB を作成するべきではありませんか? 私が今行っていることは、いくつかの UCM プロジェクトを含む 1 つの PVob があり、各 UCM プロジェクトには独自の Vob とベースライン コンポーネント (Vob のないコンポーネント) があることです。私はそれを間違った方法でやっていますか?

3 月 7 日 16:29 に更新

あなたのアドバイスを受けて、これは私が今やろうとしていることです:

  1. すべての VOB に対応する単一の PVOB を作成しました
  2. ビジネス チームごとに 1 つの VOB を作成しましたが、私の会社では 3 つのチームしかありませんでした。
  3. アプリケーションごとに 1 つの UCM プロジェクトを作成しました。各ビジネス チームは複数のアプリケーションをホストし、各アプリケーションはかなり独立していますが、すべてのアプリケーションは並行開発のために複数のブランチを持つ場合があるため、多数のプロジェクトが存在する可能性があります。

ここで質問があります。複数のアプリケーションが同じ VOB を共有しています。アプリケーションごとに編成されるように、ベースラインをより適切に管理するにはどうすればよいですか? つまり、別のプロジェクトのベースラインを誤って選択するのを防ぐため

4

1 に答える 1

0

(一般的に) 名前が付けられた Vob 内で複数のコンポーネントを使用することをお勧めします。

Vob ごとにコンポーネントを作成することは、言うまでもなく「間違っている」わけではありませんが、コンポーネントにルート ディレクトリ (Vob など) が割り当てられると、そのルートを変更したり、リファクタリングを行ったりすることができなくなることを知っておく必要があります。

「リファクタリング」とは、コンポーネント " MyProject" を (その Vobを使用して) 作成するという古典的なケースを暗示しています\MyProject。たとえば、数か月後に " MyProject"別の歴史の恩恵を受ける: 1 つではなく 2 つのコンポーネントを定義する必要がありました。

「コンポーネントごとに 1 つの VOB」モデルでは、別の Vob を作成する以外に選択肢はありません。リファクタリングはできません。つまり、既存のコンポーネント内にサブディレクトリを作成して、そこに 2 つ目のコンポーネントを定義することはできません。

「Vob ごとに複数のコンポーネント」を使用すると、次のことができます。

  • 最初のコンポーネントの名前を " MyProject_Server" に変更し、そのルート ディレクトリは ' \MyVob\myproject' (これは変更されません。一度作成したコンポーネントのルート ディレクトリは変更できません)、
  • MyProject_Clientルート ディレクトリ ' ' を使用して、同じ Vob : " " 内に別のコンポーネントを作成します\MyVob\myproject_client

主な利点はスケールに関するものです。Vob 内に多数 (数百) のコンポーネントを定義できます。ただし、 Vob へのアクセスを管理するために必要なプロセス (および)
の数が非常に多いため、何百もの Vob を定義するべきではありません。vobrpc_servervob_server


Vob ごとに複数のコンポーネントを作成しても、各プロジェクト UCM のベースラインの選択には影響しません。
つまり、コンポーネントが完全な Vob であるか、Vob の一部であるかにかかわらず、間違ったコンポーネントのベースラインを選択するリスクが高くなります。

これらのコンポーネントを異なる UCM プロジェクトに分離し、それらの UCM プロジェクトで各コンポーネントのベースラインを管理するだけです。

于 2012-03-06T10:26:10.800 に答える