На более низком физическом уровне / уровне реализации мне нравится использовать maven в качестве инструмента сборки, а затем настраивать расширенные отчеты maven для создания веб-сайта, заполненного различными метриками кода.
- Для начала существует плагин maven checkstyle , который может сообщать о соответствии кода указанному стандарту, согласованность в стандартах кодирования имеет много очевидных преимуществ, большинство проектов просто примут один из предварительно настроенных стандартов, например, солнце или апач.
- Плагин findbugs перечисляет потенциальные ошибки программирования
- Существует выбор отчетов о покрытии кода, я использовал cobertura . Они показывают строку за строкой в приложении, какие части покрыты модульными тестами. Maven поддерживает модульные тесты в жизненном цикле сборки, выполняя их как часть сборки. Это спасло меня несколько раз.
- Плагин PMD идентифицирует дублированный код и выделяет области, которые могут нуждаться в рефакторинге.
Как только это настроено и становится частью нормального цикла сборки, оно в основном позаботится о себе, и вам не придется беспокоиться о проведении больших полугодовых аудитов / повторных проверок.
Многие из отчетов имеют пороговые пределы, которые могут быть настроены на сбой при сборке, если он нарушен, т. Е. Более n% ошибок в стиле проверки приводят к сбою сборки.
Maven также продвигает модульный подход к созданию приложений, что приводит к созданию меньших, более понятных и многократно используемых модулей, а также к разделению задач, то есть к отдельным модулям для уровней представления и персистентности. Основное преимущество, которое обеспечивает maven, - это управление взаимозависимостями между модулями.
Это не очень поможет вам на уровнях архитектуры более высокого уровня, поэтому для охвата этого измерения потребуется дополнительный подход.
См. Некоторые примеры отчетов по этой ссылке
http://maven.apache.org/plugins/maven-dependency-plugin/project-reports.html