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 - буду рад вашей подписки на меня в гитхабе

Благодарю вас, что прочитали данную статью.

Комментарии (0)