2

私は最近、少なくとも XML 解析スクリプトを共有する必要がある 2 つの異なるプログラムのデバッグを担当しています。1 つは PureMVC で作成され、もう 1 つはゼロから作成されました。もともと、ゼロから作成することは理にかなっていましたが (これによりかなりの量のメモリが節約されましたが、メモリの問題はその後解決されました)。

非 PureMVC アプリケーションの移植には、使用する必要のないかなりの時間と労力がかかりますが、ドキュメントとコード共有が容易になります。また、全体的な学習曲線が低下します。それを念頭に置いて:

1. 物事を 1 つの基準に移行するのが最善かどうかを検討する際、何を考慮に入れる必要がありますか?


(関連記事にて)

一部のコードは少し奇妙です。インタープリター アプリはコマンドをある構文から別の構文に変換する必要があったため、インタープリター オブジェクトを持つことは理にかなっています。外部環境との通信が必要なため、1 つのオブジェクトが環境と対話し、そのためにインタプリタのみを処理する方が理にかなっています。

事実上、アンチシングルトンが作成されました。オブジェクトはインタープリターとのみやり取りするだけで、それだけです。別のクラスのメンバーがそのパブリック メソッドの 1 つを呼び出そうとすると、オブジェクトは Exception を発生させます。

これを達成するためのより良い方法がありますが、それは間違いなく少し奇妙です。同じことを達成するためのより標準的な手段がありますが、多くの場合、非常に大きなクラスまたはクラス ファイルを作成する必要があります。私が見つけた標準に準拠した唯一の解決策は、現在必要とされているのと同じくらい多くのコメントと説明を必要とするでしょう。これを考慮して:

2. いくつかのコードが風変わりであるが効果的である場合、より扱いにくくなったとしても、風変わりでないように変更する方がよいでしょうか?

4

4 に答える 4

2

私の意見では、このタイプのリファクタリングはスケジュールでは考慮されないことが多く、時間に余裕があるときにのみ行うことができます。

多くの場合、コードを出荷するための基準は、それが機能するかどうかであり、それが可能な限り最良のコード ソリューションであるとは限りません

ですから、あなたの質問に答えて、時間があればリファクタリングを試みます。プライオリティ 1 は、機能するコードを作成するためにまだ残っています。

于 2009-01-22T17:43:14.557 に答える
1

とにかく変更を加える必要がある場合にのみ変更してください。しかし、風変わりでないことは常に良い目標です。特定のソフトウェアに費やされる時間のほとんどはメンテナンスに費やされるため、それを簡単にするために何かを行うことができれば、そのコードに費やされる全体的な時間を削減できます。それにもかかわらず、それが機能していて変更が必要ない場合は、何かを変更しないでください。

于 2009-01-22T17:42:08.070 に答える
1

時間があれば、今。時間がなくて回避できる場合は、後で。

于 2009-11-04T07:41:03.430 に答える