私は元々2つの異なる種類のファイルを処理するために設計された古いコードで作業しています。私は最近、このコードに新しい種類のファイルを追加するという任務を負いました。私の問題のほとんどは、リストの名前から複数形の小文字でのファイルの記述方法まで、すべてを処理する新しいエントリを含む広範なXMLファイルに入力することで解決されました。しかし、24の異なるコードファイルに50の異なる場所があり、元の2つのファイルタイプに対してのみ分岐するハードコードされたswitchステートメントを更新する必要があったため、これでは不十分でした。
残念ながら、これには一貫性がありません。XMLファイルから半分、ハードコードから半分を操作するメソッドがあります。XMLファイルから動作するように見えるファイルの中には、そうでないものもあれば、ハードコードを更新する必要があると私が予想するものもありますが、それは必要ありません。したがって、これらの大部分を見つける唯一の方法は、システムの一部のみが動作しているときにシステム全体をテストし、修正する1つのステップを見つけることです(幸運なことに、エラーログが実際に何が起こっているかを教えてくれます)。その後、すべてを再度実行します。これは、すでに機能することが確認されているコードの部分のテストに時間を浪費し、その上に追加する必要のある新しい部分のテストに費やす時間を無駄にします。
面倒な作業ですが、運が良ければ、近い将来、さらに別の新しい種類のファイルを追加する必要があると予想できます。
この種の取り組みを支援できる解決策はありますか?現在の機能のいくつかのパラメーターを入力し、コードプロジェクト全体のどのポイントを実際に更新する必要があるかを文書化し、次に新しい機能をコードに追加する必要があるときに何かを実行できるもの。完全に自動化する必要はありません。これは、すべての特定のポイントに直接移動したり、ロードする必要のあるパラメーターの種類を記録したりするのに役立ちます。
特に重要なことは間違いありませんが、コードはASP.NETページ、一部のASP.NETコントロール、数百のC#コードファイル、および少数の追加のXMLファイルで構成されています。現在、すべてがいくつかの大きなVisualStudio2008プロジェクトに含まれています。