SonarQube. Проверяем код на качество

c5b7ac7f51bf4974b062acd41afb5aad.pngSonarQube — платформа для проверки кода на качество по правилам, основанным на соглашениях и стандартах. Поддерживает более 20 различных языков программирования.

Вот здесь можно посмотреть все эти правила.

Хочу поделиться небольшим руководством, как подружить sonarQube, PhpStorm и ваш проект. Все действия описаны для Windows, но все так же настраивается и под другую ОС.

Для начала необходимо скачать демон SonarQube (на данный момент последняя версия 5.1), который запустит сервер и будет хранить данные о ваших тестах. Распакуем его в папку

C:\sonarqube Затем скачаем плагин для языка программирования, который вы собираетесь проверять (для меня — это плагин PHP) и положим его в папку plugins C:\sonarqube\extensions\plugins Для того, чтобы запустить саму проверку, необходим runner, который мы скачиваем там же и, если необходимо, прописывем его в системных переменных. C:\sonar-runner Так же необходимо настроить файлы конфигурации тестов. Для этого в корне вашего проекта создадим файл sonar-project.properties со следующим содержанием: sonar.projectKey=runner // путь, по которому будет доступна страничка с результатами тестов в браузере sonar.projectName=PHPNAME // имя проекта sonar.projectVersion=1.0 // версия проверки sonar.sources=src // папки, которые будут проверяться (можно перечислить через запятую) sonar.language=php // язык программирования sonar.dynamicAnalysis=false // включение\отключение функций, отвечающих на юнит тестирование sonar.sourceEncoding=UTF-8 // кодировка файлов Перед тем, как запускать SonarQube, убедитесь, что на вашей машине стоит JavaVirtualMachineЗапускаем SonarQube

C:\sonarqube\bin\windows-x86-xx\StartSonar.bat Переходим в корень проекта и запускам от туда runner C:\sonar-runner\bin\sonar-runner.bat После успешного выполнения появится текст, примерно такого содержания.05960c88c7a14b7f83b7996e2f920a84.png

Если у вас тест падает, то для меня это было по нескольким причинам: Неправильно прописанные конфиги. Например, папка, которая указана к проверке не существуетНе хвататет памяти для JVM. Решается увеличеним памяти для нашего демона: Необходимо в настройках SonarQube

C:\sonarqube\conf\sonar.properties Прописать: %JAVA_EXEC% -Xmx1024m -XX: MaxPermSize=512m -XX: ReservedCodeCacheSize=128m %SONAR_RUNNER_OPTS% Теперь мы можем посмотреть на результаты теста по адресу: http://localhost:9000/dashboard/index/runner В результатах можно посмотреть количество и виды ошибок, а так же подробно прочитать о каждой ошибке и примере ее исправления.572eaf86378f4b5f9e24d09c220c78c5.png

Скачем сам плагин для IDE: Зайдем в меню, для установки плагинов в PhpStorm: File→settings→plugins→BrowseRepositoriesНайдем там SonarQube и установим его.(Плагин разработан компанией Jetbrains, так что, скорее всего, его поддерживают и другие IDE этой компании).

Настраиваем плагин: Зайдем в настройки плагина: File→settings→OtherSettings→SonarQubeДля начала настроим сервер, к которму будет обращаться плагин, чтобы получить результаты теста. Для этого кликнем на кнопку add и впишем настройки.

13c028343eec49a79a040e0e7cf179cb.png

Затем загрузим результаты нашего теста. Для этого кликнем на зеленом плюсике, обновим список проектов кликнув по кнопке download resources, выберем наш проект и добавим его.

0b0a27f0c6024e6ea035c1a0fb35600d.png

Теперь можно проинспектировать код, смотреть какие несоответствия со стандартами были допущены и исправлять их.Проинспектируем код в PhpStorm: Code→InsectCode→wholeProject:

c1b6eebde4924cf0b5ee2f9a7e8d6675.png

Надеюсь, моя инструкция кому нибудь пригодится.

© Habrahabr.ru