Sonar — это веб-приложение с открытым исходным кодом для управления качеством кода, охватывающее семь основных областей качества кода: архитектура и дизайн, комментарии, дубликаты, модульные тесты, сложность, потенциальные ошибки и правила кодирования. Разработан на Java и может охватывать проекты на Java, Flex , PHP , PL / SQL , Cobol и Visual Basic 6 .
Навигация очень эффективна, предлагая визуальные отчеты, и вы можете следить за развитием метрик вашего проекта и комбинировать их.
Существует онлайн-проект под названием Nemo, посвященный проектам с открытым исходным кодом, так как вы можете увидеть такие проекты, как Jetty , Apache Lucene и Apache Tomcat .
Итак, давайте настроим Sonar для совместной работы с Maven . Прежде всего настройте сервер Sonar и другие настройки в файле Maven settings.xml :
<profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.jdbc.url>jdbc:postgresql://localhost/sonar</sonar.jdbc.url> <sonar.jdbc.driver>org.postgresql.Driver</sonar.jdbc.driver> <sonar.jdbc.username>user</sonar.jdbc.username> <sonar.jdbc.password>password</sonar.jdbc.password> <!-- SERVER ON A REMOTE HOST --> <sonar.host.url>http://localhost:9000</sonar.host.url> </properties></profile>
Вы должны запустить сервер Sonar и определить его в параметре sonar.host.url . В этом примере я использую URL-адрес сонара по умолчанию , http: // localhost: 9000 , и вы должны установить имя пользователя и пароль для своей базы данных. Для установки локального сервера Sonar вы можете увидеть эту ссылку .
После этого для запуска анализаторов кода и сохранения результатов в базе данных Sonar просто выполните mvn sonar: sonar. Вы можете настроить Sonar для выполнения в приложении CI (Continuous Integration). Хадсон является идеальным матчем , потому что есть плагин сонар для него. Смотрите окончательный результат ниже:
Я предпочитаю Teamcity CI, но нет стабильного плагина, как вы можете видеть в матрице совместимости . Чтобы решить проблему этого плагина, просто добавьте sonar: sonar в команду maven, выполняемую Teamcity .
Sonar — это важный инструмент для вашего программного проекта, который поможет вам оценить, насколько сплочены ваши классы, предупреждать о будущих проблемах, возникающих из-за сложности кода или проблем с дублированием, и поможет вам получить более чистый код.
Если у вас есть какие-либо вопросы или трудности, свяжитесь со мной .