我必须审核一个已经发展了几年的大型 Web Java/J2ee 应用程序。它是由其他公司编写的,而不是我正在工作的公司。在目前的状态下,它已经变得难以发展和维护,新功能难以添加,并且经常导致有时会出现在生产中的错误。似乎有一些复制/粘贴的代码导致代码重复。当前的应用程序是某种在线购物,到处都有一些类似 cms 的内容。在代码的较新部分中主要是 Struts 和一些 Spring,也许是一些 ejbs 投入了很好的衡量。有一些可用的单元测试,但不是很多。这些是我被告知的事情,我还没有看到实际的代码。
我的公司将提议重写此应用程序的部分内容,以降低复杂性、提高质量和模块化,并使其能够添加更简单的新功能而不会出现回归。在做出任何承诺之前,他们希望对现有代码的质量有所了解,并评估其中有多少可以重用,以便对必须要做的事情有更多的猜测——完整重写或部分重写。
问题是我必须在很短的时间内(几天)内完成这项工作,所以我正在努力制定一个在这么短的时间内可以完成的计划。我在想的是:
- 查看“基本”内容 - 异常处理、日志记录
- 查看分层级别(视图、控制器、dao 层)
- 测量单元测试的实际覆盖率
- 也许在项目上运行一些 Checkstyle、Findbugs 和 PMD
- ...
所以实际的问题是我应该考虑/检查/测量/等哪些其他事情?
我不确定我能从中得到什么样的数字,如果它真的意味着什么,我觉得管理层的要求是一种错误的方法,所以第二个问题是:有没有人有更好的主意?
我将不胜感激任何想法,建议,对此发表评论。