0

私たちのプロジェクトには、正常に動作しているこの従来の画像ビューアー コンポーネントがありますが、そのソースは本当に混乱しています。このコンポーネントに新しい機能を追加して、人々がライト ペンを使用して画像に注釈を追加できるようにする必要があります。これは、それ自体は複雑な作業ではありませんが、既存のコードを扱うのは悪夢になる可能性があります。

私は今本当に混乱しています。どこから始めればよいかわかりません。既存のコードをリファクタリングする必要がありますか?そうでない場合、他に何ができますか?

では、私の質問は次のとおりです。そのような状況に対処するための最善の (痛みの少ない) アプローチは何でしょうか?

4

3 に答える 3

1

この非常に優れた記事Big Ball of Mudを読む必要があります。そして、あなたの答えのために、私たちは皆、ある時点で大きな泥の塊を手に入れ、それに新しい機能を追加する必要があります. このようなコードのリファクタリングは、多くのテストが必要になるため、お勧めできません。しかし、いくつかの新しい行を追加しても害はありません。したがって、十分な時間がない限り、テスターは新しい機能を既存のコードに追加するだけです。現在のコードはめちゃくちゃに見えますが、動作してテストされていることを覚えておいてください。記事を読んで、どのアプローチが良いかを判断してください。

于 2010-01-19T07:24:43.007 に答える
1

システムに加えた変更が既存の機能を変更したり壊したりしないことを検証できるように、たくさんのテストを書いてください。

これらのテストは、建設作業員が再建を行っているときに物理的な建物を支えるために使用されるブレースのようなものです。そのブレース作業は、既存のインフラストラクチャをそのまま維持するために使用されます。ユニット テストと統合テストをできるだけ多く作成して、システムのインフラストラクチャを維持する必要があります。

これらのテストにより、システムに小さな反復的な変更を加え、それらの変更が期待される動作を維持していることを簡単に確認できます。

于 2010-01-19T07:16:58.660 に答える
1

質問は完全に重複していませんが、これとまったく同じ回答が適用されます(1つの変更のリストがあるだけです)

https://stackoverflow.com/questions/1386824/hired-as-a-developer-to-maintain-and-update-current-code-base-no-docs/1386844#1386844

于 2010-01-19T07:17:41.107 に答える