1

サポートするレガシーアプリがあります。これは純粋なJSPです。つまり、JSPは接続を開き、ビジネスロジックを実行し、フォームを(通常は同じJSPに)送信します。400ページ以上あり、一部のページは100Kにもなります。

このアプリは今後数年間で拡張および変更される予定であるため、メンテナンスを簡素化するためにプレゼンテーションとビジネスロジックを分割する方法を検討しています。少なくとも、それをいくつかの単純なMVCフレームワークに移植したいと思います(Strutsが第1候補です)。

すべてのページを手動でリファクタリングすることに熱心な人は誰もいません。少なくとも部分的なリファクタリングを行うツールがあるかもしれないという考えがありました。たとえば、JSPでrequest.getParameter()呼び出しに基づいてActionFormを作成し、すべてのJavaコードをActionに移動し(コンパイルできませんが)、一部の "<%を置き換えます。 if "と<c:ifタグなど。

The remaining work is still very boring, but at least it has a much smaller scope.

Does anyone know such a tool?

4

1 に答える 1

4

価値があるとは思わない。400 以上のページがあり、中には 100k を超えるものもありますか?

100k!!!

おそらく最善の方法は、その Web アプリケーションをよく分析してモジュール化することです。まったく新しいモジュールを他のフレームワークで作成し、それらを組み合わせて使用​​することができます。

100K のページは、独自のモジュールの候補として適しています。

JSP全体の混乱を他のフレームワークの混乱に単純に変換する利点は、実際には見当たりません。何が起こるかというと、単にバラバラに壊れてしまい、誰もそれを直そうとは思わなくなるでしょう。

良い部分は?どのモジュールが最初に使用されますか? 他に変えてはいけないことは?

ここ数か月でより多くの変更があったものから始めます。ファイルが 100K であるという事実は、新しい機能を追加する必要があることを意味するだけですが、モデルの設計が非常に悪く、新しいオブジェクトを作成する代わりに、一部のコードを単純にコピーして貼り付け、if (あなたのコードはすでに見ました)、ファイルはどんどん大きくなります。

一部の部分は簡単に移行できるように見えますが、ソース管理によると、2 年間誰も触れていません。放っておけ。

優れたフレームワークを使用するだけではありません。システムの最も影響を受ける部分を移行して書き直し、今度はテスト ケースを作成する必要があります。

また、プロジェクト スタイルを作成し、checkstyle などで自動的に検証する必要があります。これにより、誰も新しいクイック パッチをコミットしなくなります。

最終的にすべてのアプリケーションが移行されるわけではありませんが、新しい変更は実行しやすくなり、アプリケーションの保守も容易になります。

于 2009-03-09T22:25:13.333 に答える