2010-12-02 7 views
7

私はいくつかのメッセージフォーマットを扱うライブラリを持っています。これらの形式は密接に関連しています。共通の基本XMLであり、それぞれにいくつかの追加の制約や追加のデータがあります。機能のサポートを削除する "ベストプラクティス"とは何ですか?

これらの形式の1つは、概念実証またはパイロットの作業をサポートするために作成されたものです。パイロットは終了し、使用されなくなり、いくつかの厄介な制約が課せられました。私はそれに対する支持を取り除く許可を得ました。これを行う正しい方法は何ですか?

私は思っている:

  1. オープン問題が追跡する/文書の変更
  2. タグSVNのリビジョン、 "FEATURE_Xここで削除"
  3. @Deprecate特定のクラス。問題を挙げてください。コミット。
  4. ウォッチの警告及び廃止は、それはチームが最後にコードを削除廃止
  5. に対処するための機会を与え、ビットのために座ってみましょう
  6. に影響を与えますかを参照してください。テストがOKであることを確認します。コミット。
+3

私があなたのリストに追加する唯一のものは、外部にいる場合、あなたの消費者へのアウトリーチとなり、彼らはAPIに移動する必要があることを確認します。 – hvgotcodes

+2

+バンプ番号: –

+0

+1有用なリスト - ほとんどリファクタリングレシピ – orangepips

答えて

3

上記の手順では、指定された期限までに機能が削除されることを他の人に明確に伝えることをお勧めします。機能やチームが大きければ、その日までにコード依存関係を取り除くコミットメントを得るようにしましょう(チームが大きければ大きいほどコミットメントは重要です)。私の経験が示すように、何かを削除することは、いくつかのユーザーにとって大きな驚きです。いつもFEATURE_Xに依存するsomecodeのどこかに誰かがいます。そして最後は、ドライラン除去を行うための追加ステップです。これは簡単かつ迅速に元に戻すことができます。

+0

全体的な図書館は、数十人の社内ユーザー、いくつかの外部顧客によって使用されていますが、この特定の機能が存在していても3-4人しか認識していません。 – Freiheit

+0

@Freiheit私は言うだろう:あなたは決して知らない。いくつかのケースでは、どのようにして誰が特定のコードを使用したのか本当に驚いていました。 –

+0

受け入れられました。コード面よりも扱いにくい「肉体」の側面をカバーしています。 – Freiheit

5

あなたは良いリストを持っていると思います。 @hvgotcodesをエコーするには、これはあなたのチーム外の誰もがAPIを使用していないことを前提としています。どちらの場合でも、deprecatedメソッドの中で、私はそれへの呼び出しのためにスタックトレースを記録します。これは、内部と外部の両方の使用を捕捉します。

関連する問題