Что такое линтер
В практических упражнениях на Хекслете код решения проверяют не только тесты, но и линтер. Линтер — программа, которая проверяет код на соответствие стандартам в соответствии с определённым набором правил. Правила описывают отступы, названия создаваемых сущностей, скобки, математические операции, длину строк и множество других аспектов. Каждое отдельное правило кажется не очень важным, но соблюдение их всех — основа хорошего кода.
Главная задача линтера — сделать код единообразным, удобным для восприятия и самим программистом, и другими людьми, которые будут читать код. В разных командах могут использоваться разные линтеры и разные наборы правил для них, но главное — уметь работать с линтером в принципе, а привыкнуть писать по определенным правилам будет несложно.
Линтер в упражнениях
Замечания линтера в упражнениях выводятся в нижней части экрана во вкладке Linter. На скриншоте пример для языка JavaScript и линтера ESLint, но похожая информация есть и в выводе других линтеров.
В выводе линтера вы всегда найдёте имя файла, в котором обнаружены ошибки. Под ним будет список ошибок с указанием номера строчки в файле и номера символа в ней, кратким описанием и названием правила, которое было нарушено.
Чтобы разобраться с непонятной ошибкой, введите её название в поисковике — одной из первых ссылок в выдаче будет сайт линтера. Обычно там есть более подробное описание ошибки, а также примеры хорошего и плохого кода, который её иллюстрирует. Исправьте код так, чтобы линтер был доволен :)
Если будет непонятно, как исправить ошибку, сохраните свое решение и задавайте вопрос в обсуждениях соответствующего урока. Кто-то из нашей команды вам обязательно поможет.
Какие линтеры мы используем в Хекслете
- JavaScript. ESLint + Airbnb Style Guide
Сайт линтера
Airbnb JavaScript Style Guide
Airbnb JavaScript Style Guide по-русски - PHP. PHP_CodeSniffer + PSR12
https://github.com/squizlabs/PHP_CodeSniffer
https://github.com/squizlabs/PHP_CodeSniffer/wiki - Python. flake8 + wemake_python_styleguide
https://wemake-python-styleguide.readthedocs.io/en/latest/pages/usage/violations/index.html - HTML. HTMLHint. Используем стандартные настройки
https://htmlhint.com/docs/user-guide/list-rules - CSS. Stylelint. Изменены некоторые настройки, которые касаются порядка свойств. В остальном — стандартная конфигурация
https://stylelint.io/user-guide/rules/list