1

自社用に実装されたアプリケーションがあります。時が経つにつれ、アプリケーションはさまざまな企業によって購入されてきました。

会社ごとに、ソース管理に新しいTFSブランチを作成しました。そして、それぞれが特定の顧客の要件に合わせて変更されています。

そのため、ソースコードには現在多くのバージョンがあります。変更が共通の構造からのものである場合、変更はブランチごとに個別に実装およびテストする必要があるため、変更を加えることは非常に困難になりました。

ソースコードを管理するための最良かつ従来の方法は何ですか?

各顧客のシステムで実行できる単一のソリューションを用意することをお勧めしますか。

4

1 に答える 1

3

顧客固有のカスタマイズを処理する方法はいくつかありますが、その中には次のものがあります。

  • 顧客ごとに完全に別個のブランチを維持し、最終的にブランチ間でコードをマージします。これは、現在展開しているソリューションです。
  • プラグ可能なカスタマイズフックを備えた、顧客に依存しない「カーネル」を使用する方法でアプリケーションを設計します。カスタマイズのみが個別の独立したリポジトリに保持されます。
  • カスタマイズを共通のアプリケーションに入れて、構成可能にします(「オン/オフ」)。

どのルートを取るかは、アプリケーションの性質と顧客ごとのカスタマイズの量によって異なります。コンテキストが許せば、手動でのマージ、バグ修正、およびテストのオーバーヘッドのために、個別のブランチは最も好ましくありません。

特定の業界(テレコム課金システム)では、3つすべてを見てきました。専用のコードブランチを扱うサプライヤー、プラグイン可能なカスタマイズと構成可能な既製の製品を扱うサプライヤーです。当然、各サプライヤには、異なるレベルのカスタマイズの柔軟性、製品化のレベル、および統合アプローチがあります。

ソフトウェアサプライヤとしての大きなトレードオフは、カスタマイズの柔軟性のレベルと製品化のレベルのバランスを取ることです。

于 2012-12-14T13:41:53.857 に答える