Команда WordPress Performance предлагает разработать инструмент проверки плагинов, аналогичный плагину проверки тем, который обеспечивает соответствие тем последним стандартам и лучшим практикам.
В 2021 году команда WordPress Meta создала сканер кода, который обнаруживает потенциальные риски безопасности, такие как незафиксированные SQL-запросы в коде плагинов, с целью снижения нагрузки на команду Plugin Team за счет автоматизации. Этот конкретный инструмент был разработан не для поощрения лучших практик, а скорее для того, чтобы плагины, попадающие в каталог, соответствовали минимальным стандартам, необходимым для обеспечения безопасности.
Команда Performance предлагает создать плагин другого типа, который будет отмечать любые нарушения требований к разработке плагинов и предлагать лучшие практики с ошибками или предупреждениями.
«Он должен охватывать различные аспекты разработки плагинов, от базовых требований, таких как правильное использование функций интернационализации, до обеспечения доступности, производительности и лучших практик безопасности».
— сказал Феликс Арнтц, автор, спонсируемый Google
Феликс выделил три основные цели плагина:
- Предоставить разработчикам плагинов обратную связь по требованиям и лучшим практикам во время разработки.
- Предоставить команде проверки плагинов wordpress.org дополнительный автоматизированный инструмент для выявления определенных проблем или слабых мест в плагине перед ручной проверкой.
- Предоставить владельцам технических сайтов инструмент для оценки плагинов на основе этих требований и лучших практик.
Команда Performance рекомендует, чтобы плагин также работал из командной строки (используя WP-CLI) и чтобы он не ограничивался статическим анализом кода, а включал проверки запуска, которые выполняют код.
Предложение пока получило неоднозначную реакцию. Некоторые участники обсуждения приветствуют разработку такого инструмента и хотели бы использовать его в своих собственных плагинах. Другие опасаются, что проверки станут слишком жесткими и негативно повлияют на экосистему плагинов.
«Наличие плагина для автоматизации этих проверок звучит здорово. Однако я беспокоюсь, что в конечном итоге это приведет к тому, что разработчикам плагинов WP придется перенимать стиль кода WP, что будет довольно неприятно».
— сказал разработчик WordPress Майкл Нельсон
Разработчик WordPress Джош Поллок отметил, что разделяет эти опасения и обеспокоен тем, как эти стандарты могут быть применены к плагинам, которые не были созданы для поддержки PHP5, используют composer для управления зависимостями и автоматизации, а также совместно используют PHP-код с другими фреймворками.
«Если это поможет разработчикам плагинов, то хорошо, но если это будет использоваться как оружие для настаивания на стандартах, то я подозреваю, что это будет гвоздем в гроб WP.
Если вы хотите настаивать на вещах, которые не являются критическими для безопасности, то текущая документация далека от полезной для новичков».
Если бы инструмент переписывал код в соответствии со стандартом, чтобы разработчик получал в итоге что-то типа «это лучшая версия», тогда я был бы согласен.
Но тот, который просто говорит «вы неправильно экранируете код», а затем заставляет разработчика плагина пытаться найти, что и где не так, будет просто стимулировать меньше создавать полезных нововведений».
— сказал разработчик плагинов Робин В.
Команда Performance обратилась за отзывами к сообществу, в частности, к разработчикам плагинов, рецензентам плагинов и команде Meta. По словам Арнтц, — если они смогут достичь консенсуса, то следующим шагом будет разработка инфраструктуры для проверки плагинов в репозитории GitHub.
«Команда Performance с удовольствием возглавит этот проект, но очень важно, чтобы участники из других команд помогли в его разработке, особенно когда речь идет об определении и реализации различных проверок.
Это, безусловно, амбициозный проект, и это не первый случай, когда возникает необходимость в проверке плагинов. Необходимо также уточнить, что для создания первой версии, скорее всего, потребуется несколько месяцев. Однако мы оптимистично настроены, что при наличии прочного фундамента и сотрудничества с самого начала мы сможем создать инструмент, который будет отвечать требованиям к надежной автоматизированной проверке плагинов.»
— сказал Арнтц