web-dev-qa-db-ja.com

コードベースの非推奨メソッド

私が最近取り組んできたコードの多くは、専門家(読む:職場)と他の分野(読む:自宅、友人/家族など、または職場以外)の両方で作業され、再設計されました可能な場合/必要な場合は、数回再実装します。これは、物事をより小さく、より速く、より効率的に、より良く、より仕様に近づけるための取り組みです(要件が変更された場合)。

これの欠点は、メソッドブロック(および場合によっては小さなオブジェクト)が廃止されたコードベースがいくつかあることです。私は、このコードを保守可能にし、変更を簡単にロールバックできるようにすることを検討しています。私はすでに両方のインスタンスでバージョン管理ソフトウェアを使用していますが、コンパイルされた出力のサイズを増やすことなく、置き換えられたメソッドを維持するために他の人が使用した特定の手法があるかどうか疑問に思っていますか?

現時点では、古いコードをCスタイルの複数行コメントでラップしているだけです。

これが私が意味するものの例です(Cスタイル、擬似コード):

void main ()
{
  //Do some work
  //Foo();  //Deprecated method call
  Bar();    //New method
}

/***** Deprecated code *****
/// Summary of Method
void Foo()
{
  //Do some work
}
***** Deprecated Code *****/

/// Summary of method
void Bar()
{
  //Do some work
}

Cスタイルの言語に自信があるという理由だけで、Cスタイルの例を追加しました。私はこの質問を言語にとらわれないものとして伝えようとしています(したがってタグ)。可能であれば、言語にとらわれない答えを好むでしょう-この質問はより技術とデザインの質問であると考えているからです。

さまざまな理由で古いメソッドとブロックを保持したいと思います。その主なものは、一部のテストが失敗した場合や予期しない状況が発生した場合に、古い作業メソッドをすばやく復元できることです。

これを行うためのより良い方法はありますか(その複数行のコメント)?これらの古いメソッドを別々のファイルに保存できるツールはありますか?それもいい考えですか?

4
Jamie Taylor

Is there a better way to do this (that multi line comments)? Are there any tools that will allow me to store these old methods in separate files? Is that even a good idea?

コメントされたすべてのコードブロックを追跡して削除する必要があります。すでにバージョン管理を使用しているので、懐かしいと感じたとき、またはリファクタリング中に何かを壊したときはいつでも、古いコードを利用できます。

コメントされたコードは、無駄な雑然としたものです。

9
Simon Bergot

これにはソース管理で問題ありません。使用すべきではない古いメソッド/クラスでコードベースを乱雑にする必要はありません。

任意のマイルストーンでタグ付けまたは分岐します。

この方法で、好きな「最後の作業コピー」に戻ることができます。

1
ozz