如何审核Java EE项目?

LB4*_*B40 8 java architecture audit java-ee

我将审核基于JSF/CDI/EJB3.0/JPA的Java EE Web项目的代码体系结构质量和可维护性(最终确保我们已经付出了代价)(仅仅是为了命名一些技术)参与).

这可能不是一个正确的问题,但你如何处理这类任务呢?基本上,我将从粗粒度到细粒度,即从整个架构到java代码.完全处理每一层是否更好?我应该花更多时间在低层吗?

你评估整个事情(构建,部署,测试)吗?

cro*_*wne 6

在较低的物理/实现级别,我喜欢做的是采用maven作为构建工具,然后配置广泛的maven报告,以生成一个充满各种代码指标的网站.

  • 对于初学者来说,maven checkstyle插件可以报​​告代码符合指定标准,编码标准的一致性有许多明显的好处,大多数项目只是采用预先配置的标准之一,例如sun或apache.
  • FindBugs的插件列出了潜在的编程错误
  • 可以选择代码覆盖率报告,我使用过cobertura.这些显示了应用程序中的行,其中的部分由单元测试覆盖.Maven在构建生命周期中支持单元测试,将它们作为构建的一部分运行.这节省了我几次.
  • PMD插件识别重复的代码,并强调可能需要重构区域.

一旦设置完成并成为正常构建周期的一部分,它基本上就会自行处理,您不必担心进行大规模的双年度审计/追赶.

许多报告都有阈值限制,如果被破坏,可以配置为使构建失败,即超过n%的checkstyle错误,导致构建失败.

Maven还推广了一种用于构建应用程序的模块化方法,这导致了更小的更易理解和可重用的模块,以及关注点的分离,即用于表示和持久层的单独模块.maven提供的主要好处是管理模块之间的相互依赖关系.

这对于更高级别的架构层没有帮助,因此需要一种补充方法来覆盖该维度.

请在此链接查看一些示例报告
http://maven.apache.org/plugins/maven-dependency-plugin/project-reports.html