Я хочу вычислить некоторые показатели сложности и качества для java-кода в пользовательском плагине SonarQube. Для этих показателей требуются различные меры, такие как количество переменных, операндов, соединений с базами данных, функций и т. Д. SonarQube CoreMetrics предоставляет лишь некоторые из них, и я не хочу создавать полный парсер java-файлов для их измерения самостоятельно. Итак, есть некоторые вопросы о том, как это сделать:Есть ли способ измерить различные метрики кода Java в SonarQube
Есть ли способ собрать больше необходимых значений сонаркой или существующим плагином, чем доступно в CoreMetrics?
Если нет, знает ли кто-нибудь хороший Java-парсер/сканер с открытым исходным кодом, который измеряет множество показателей размера из исходного кода, который я могу использовать в своем проекте?
Большое спасибо за любые советы и предложения.
Спасибо за ваш совет, но я не хочу определять некоторые правила кодирования, чтобы отображать их как ошибки или запахи кода. Я хочу рассчитать различные параметры в исходном коде Java, такие как переменные, методы и т. Д., Чтобы вычислить некоторые показатели из них, например, Halsteads Complexity Metric. Мне кажется, что правила - это неправильный способ сделать это, потому что они проверяют только некоторые конструкции в коде или нет. Или я ошибаюсь? – Nirvanson
У вас есть доступ к синтаксическому анализатору и API для сообщения о проблемах. Просто не используйте API-интерфейс для отчета и используйте парсер для вычисления любой метрики, о которой вы можете думать. – benzonico