数年かけて進化した大規模な Web Java/J2ee アプリケーションを監査する必要があります。私が働いている会社ではなく、他の会社によって書かれています。現在の状態では、進化と保守が難しくなり、新しい機能を追加するのが難しくなり、本番環境でバグが発生することがよくあります。コードの重複を引き起こしたコピー/貼り付けコードがいくつかあるようです。現在のアプリは、いくつかの cms のようなコンテンツがあちこちにあるオンライン ショッピングです。それはほとんどが Struts であり、コードの新しい部分にはいくつかの Spring が含まれています。利用可能な単体テストがいくつかありますが、多くはありません。これらは私が言われたことであり、実際のコードはまだ見ていません。
私の会社は、このアプリの一部を書き直して、複雑さを軽減し、品質とモジュール性を改善し、リグレッションなしで新しい機能を簡単に追加できるようにすることを提案します。コミットメントを行う前に、彼らは既存のコードの品質をある程度評価し、再利用できるコードの量を評価して、何をする必要があるかについて推測以上のものを得たいと考えています。書き直しまたは部分的な書き直し。
問題は、これを非常に短い期間 (数日) で行わなければならないことです。そのため、このような短い時間で何ができるかについて計画を立てようとしています。私が考えているのは:
- 「基本的な」ことをチェックしてください - 例外処理、ロギング
- 階層化のレベルを確認してください (ビュー、コントローラー、dao レイヤー)
- 単体テストの実際のカバレッジを測定する
- プロジェクトに対してCheckstyle、Findbugs、PMDを実行するかもしれません
- ...
したがって、実際の問題は、他にどのようなことを考慮/チェック/測定/などする必要があるかということです。
これからどのような数字が得られるかはわかりませんが、それが本当に何かを意味する場合、経営陣が求めているのは一種の間違ったアプローチであると感じているので、2番目の質問は次のとおりです。より良いアイデアですか?
これに関するアイデア、提案、コメントをいただければ幸いです。