2009-03-20 8 views
2

私はソースコードとして配布されているサードパーティのAPIを使用しています。私は自分で物事を修正することができるのでこれは素晴らしいですが、私はまた、第三者から多くの更新を受け取ります。サードパーティのAPIからのコードの変更

APIの私のバージョンが含まれている私のコードベースのための私自身のsvnリポジトリがあります。サードパーティのsvnリポジトリからバージョンをチェックすることで、公式のAPIアップデートを取得します。

変更をマージするのは苦しいプロセスです。これを行うより良い方法はありますか?これは分散型ソース管理システムで簡単にできますか?

答えて

3

問題は、自分自身をAPIに結合していることです。可能であれば、APIを変更するのではなく拡張する方法を見つけてください。それを別のモジュールまたは他のコンパイル出力(つまり、.JAR、.DLL、.SOファイル)に入れます。それから自分を切り離すようにしてください。

あなたがそれを行うことができない場合は、ほぼすべてのリリースでマージを扱っています。もちろん

APIがオープンソースであれば、あなたは変更を提出検討するかもしれない...

1

私はそれはあなた'LL思えるよう分散型バージョン管理システムでは、あなたのシナリオでは多くを助けるとは思いませんあなた自身のリポジトリへのマージを行うものになります。マージの性質がAPIとそのAPIに依存するコードの場合は、何も役立つものはありません。

1

抽象的なコードからのAPI。あなたのコードがAPIの変更から隔離された状態に保つのに役立つ多くのデザインパターン(ファサード、プロキシなど)があります。 APIが変更された場合は、API自体ではなく、APIと対話するコードを変更します。コードを更新するたびにコードを変更する必要がありますが、少なくとも最小限に抑えて1か所に分かれています。

関連する問題