Эпизод #3 - Hound
В этом эпизоде рассмотрим HoundCI, инструмент для автоматического анализа кода в Pull Request’ах, который работает в связке с GitHub. Hound может проанализировать несколько типов кода. Для каждого типа он использует свою технологию:
- Ruby - Rubocop
- CoffeeScript - CoffeeLint
- JavaScript - JSHint
- SCSS - SCSS-Lint
- SASS - SASS-Lint
- Haml - Haml-Lint
- Go - Golint
- Swift - SwiftLint
- ESLint - ESLint
- Python - Flake8
- TypeScript - TSLint
- Elixir - Credo
Подробнее можно посмотреть в оф.документации
Как это работает
- Вы пишите код
- Делает Pull Request
- Hound проверяет ваш код и комментирует все проблемные места от имени пользователя houndci
- Вы исправляете замечания
- Делаете merge с master
Подключаем Hound к проекту
Первое, что необходимо сделать, это выполнить Вход используя свой GitHub аккаунт.
После этого вы увидите список всех Ваших репозиториев.
Для того, чтобы активировать Hound, нужно в строке с нужным репозиторием нажать на кнопку Activate
.
После этого Hound будет делать Code Review для каждого Pull Request’а в вашем проекте.
Конфигурация
Мы можем подключить или отключить любой из линтеров.
Разместите в корне Вашего проекта файл .hound.yml
и, к примеру мы хотим отключить SCSS, напишем следующее:
scss:
enabled: false
Это строка отключит слежку за файлами *.scss
.
Мы также можем подключить свой файл конфигурации для каждого линтера. Для Ruby это может выглядеть так:
ruby:
config_file: .rubocop.yml
Также можно исключить некоторые файлы из проверки:
scss:
exclude:
- "app/assets/stylesheets/plugins/**"
Hound очень удобен и прост в использовании. Он поможет Вам сохранить массу времени для поддержания чистого кода.
Ссылки
- Hound: https://houndci.com/
- Оф. документация: https://houndci.com/configuration
- Проект, используемый в видео: https://github.com/dev-simple/create_blog_on_rails