Peck — это мощный инструмент CLI, предназначенный для выявления ошибок формулировки или написания в вашей кодовой базе: имена файлов, имена классов, имена методов, имена свойств, документы и многое другое
Бывает часто такая ситуация, что неправильно можем называть имя класса, имя переменной или название файла, не всегда это получается заметить в силу разных факторов, а потом из этого в проекте могут быть опечатки, что могут приводить к complexity кода и путаницы в прочтении
Поэтому такой инструмент сможет решить данную проблему, так как его можно спокойно внедрить в ваш pipline, что позволит переложить процесс проверку орфографии на машину — облегчая вам жизнь
Процесс установки
Для установки пакета вам потребуется php 8.2 и выше, а так же GNU Aspell
GNU Aspell — это свободная программа для проверки орфографии, разработанная для замены Ispell и служащая стандартным инструментом для проверки правописания в операционной системе GNU
Добавляем данную утилиту в наш Dockerfile с php:
Пример
RUN apt-get update && apt-get install -y --no-install-recommends \ git \ unzip \ librabbitmq-dev \ libpq-dev \ aspell \ aspell-en \ supervisor
И уже к необходимым пакетам добавили aspell и aspell-en
aspell-en — содержит файлы для проверки орфографии для английского языка
Устанавливаем пакет через composer:
Пример
composer require peckphp/peck --dev
Инициализируем конфиг для пакета:
Пример
./vendor/bin/peck --init
После Инициализации появится файл peck.json:
Пример
{ "preset": "laravel", "ignore": { "words": [ "config", "namespace" ], "paths": [ "app/MyFolder", "app/MyFile.php" ] } }
Пример, который прилагают разработчики
Описание ключей конфига:
words — указываем те слова по которому не будет идти проверка орфографии
paths — указываем пути по котором будет игнорироваться папки или файлы
в моем проекте пришлось добавить больше слов для игнора:
Пример
{ "preset": "laravel", "ignore": { "words": [ "php", "dto", "sha", "centrifugo", "js", "postcss", "phpcs", "makefile", "cors", "filesystems", "websocket", "favicon" ], "paths": [ "/public/vendor", "/public/fonts", "/public/js", "/lang/vendor" ] } }
Так же мы можем переместить наш конфиг в другое место и явно его указать, используя команду с флагом --config где его аргументом будет путь до файла
Пример
./vendor/bin/peck --config relative/path/to/peck.json
Теперь можем запустить пакет для проверки:
Пример
./vendor/bin/peck
У меня нашло в проекте ошибку в названии файла:
Пример
Misspelling ./documentation/code_standart.md: 'standart' Did you mean: standard, standout, standards, stander
Так же для удобства добавить данную команду в скрипты composer:
Пример
{ "scripts": { "word-check": "@php vendor/bin/peck", } }
И уже можно данную проверку вызывать командой — composer word-check
Итог
Хоть у данного пакета нет стабильного релиза — все ровно можно его пробовать устанавливать в ваши проекты и проверять на корректность выражений в вашей кодовой базе
Решать уже вам использовать его или нет, самое главное повышать качество кодовой базы используя те инструменты, которые вы считаете нужными
В свой проект так же внедрил данный инструмент — Шаблон laravel + frankenphp
GitHub — буду рад вашей подписки на меня в гитхабе
Благодарю вас, что прочитали данную статью.
ссылка на оригинал статьи https://habr.com/ru/articles/941344/
Добавить комментарий