2

レガシーと呼ぶ少し古いプロジェクトがあります。

それのいくつかの特徴は次のとおりです。

  1. これは (約 3 年間) 動作する製品であり、継続的に開発されています。
  2. コードベースはかなり大きく、含まれています (CS、SQL、ASPX、Jayrock、JS/HTML/CSS など)
  3. プラットフォームは .NET 1.1 です。
  4. IDE は Borland C# Builder 2006 です (なんと...)。
  5. その他のツールは、Enterprise Core Objects 3 (.NET 1.1 用) (モデル駆動型アーキテクチャ - UML からの O/RM) です。
  6. さらに、Telerik RadControls が使用されます。
  7. ほとんどが 1 人のアクティブな開発者です。
  8. ビジネス オブジェクトのテストは多数ありますが、UI (Web フォーム) はテスト可能な ATM ではありません (MVP/MVC が適用されていないなど)。
  9. コードの品質が「最高」ではなく、「十分」というマークのままであることを認めなければなりません (したがって、これはすべてを最初から書き直す主な理由ではありません) 。

このプロジェクトの問題点は次のとおりです。

  1. .NET 1.1 - プラットフォームはもはや「アクティブ」ではありません。
  2. IDE - 常に苦労しています。働くのはただの苦痛です。ツールのサポートが悪く、リファクタリングは基本的に手作業で行われます。
  3. ECO3 フレームワーク - ECO5 (および .NET 3.5) に移行するには多大な労力が必要です。
  4. ECO3 から NHibernate への移行 (推奨) にはさらに時間がかかります (すべてのロジック/テストを書き直す必要があるため)。
  5. ECO3 は IDE に大きく依存しているため、IDE のみを変更することはほとんど不可能です。
  6. 一般に、.NET 3.5 への移行には多くの時間がかかります (特に 1 つの開発者のみ)。

このプロジェクトに対処する方法についての推奨事項/ヒントを聞きたいです。
その環境で仕事を続けるべきですか?
そうでない場合、プロジェクト全体を数日以内に移行する最善の方法は何ですか (数週間の遅延は長すぎる ATM)。はい、後で報われることは理解していますが、今はできません。

通常、提案は大歓迎です。

乾杯、
ドミトリー。

4

3 に答える 3

3

少しずつ、ゆっくりと移行とリファクタリングを行います。私の提案は、順番に次のようになります。

  • 「より良い」IDE に移行します (お好みの IDE - おそらく Visual Studio?)
  • .NET 3.5 機能を使用するように移行します。必要に応じてリファクタリングして、ジェネリックや LINQ などの新しい機能を利用する
  • 必要に応じてビジネス ロジックの更新を開始する

IDE の変更以外はすべて、標準的なリファクタリング手法を使用して、コードベースの小さな部分で、非常に小さなステップで実行できます。全面的な書き直しは必要ありません。

于 2009-08-10T00:27:20.807 に答える
2

利用可能な期間を考えると、コードを保持して使用することをお勧めします。ただし、何を変更したり、新しく作成したりする場合でも、できる限り最善の方法でコードを記述してください。

通常、これを行うと、時間が経つにつれてプロジェクトが改善されます。なぜなら、おそらく「汚れた」部分を変更することが時々あるからです。コードの「汚れた」部分が 1 つ少なくなります :)。長期的には、よりクリーンで優れたコードを作成する必要があります。

IDE の変更に関しては、Martin に同意する傾向があります。別のものに移行するのはそれほど難しいことではありません。しかし、あなたが言及したこの最初の短い期間の後にそれを行うことをお勧めします(あなたが危険な人でない限り).

于 2009-08-10T00:17:30.003 に答える
2

コードが 3 年しか経っていない場合、それはまだレガシーではありません。3 年ごと (または 5 年ごと) に別の方法でやり直すのは、IMO では無駄です。

OTOH、比較的少ない労力でIDEを別のものに置き換えることができるはずです。

于 2009-08-10T00:18:58.117 に答える