Tide: новый проект для оценки плагинов и тем WordPress на основе качества их кода

На прошлой неделе XWP опубликовали превью интригующего проекта под названием Tide, который нацелен на улучшение качества кода в темах и плагинах WordPress. Компания работает при поддержке Google, Automattic и WP Engine над созданием нового сервиса, который поможет пользователям принимать более продуманные решения при выборе плагинов и подтолкнет разработчиков к написанию более качественного кода.

Менеджер по маркетингу XWP Роб Стинсон кратко изложил направление проекта:

«Tide – это сервис, состоящий из API, сервера аудита и сервера синхронизации, которые работают в тандеме для запуска серии автоматизированных тестов каталогов плагинов и тем WordPress.org. Результаты этих тестов передаются в панель администратора WordPress через отдельный плагин Tide. Тесты показывают общее качество кода плагинов и тем. Формируется полный отчет, позволяющий разработчикам понять, как они могут повысить качество своего кода».

Анонс XWP также включает в себя скриншот того, как эти данные могут быть представлены в каталоге плагинов WordPress:

XWP планируют презентовать сервис на мероприятии WordCamp US в Нэшвилле. Естественно, проект, способный оказать значительное влияние на экосистему плагинов, вызывает массу вопросов – к примеру, кто стоит за ним и какие показатели будут использоваться.

Мы связались с Робом Стинсоном и Люком Карбисом из XWP, которые являются участниками проекта, чтобы узнать, с чего все началось и как этот проект будет развиваться в дальнейшем.

«Проект Tide появился где-то 12 месяцев назад, когда одна из наших сервисных команд предложила идею инструмента, который бы выполнял серию тестов, оценивающих качество кода, после чего возвращал бы результаты через API», — рассказал Стинсон. – «Вскоре после этого мы придумали название для него, Tide, вдохновленное пословицей A rising tide lifts all boats (прилив помогает всем кораблям сойти с мели), подразумевая, что, если такой инструмент позволит снизить входной порог по написанию качественного кода для большинства разработчиков, это позволит поднять качество кода по всей экосистеме WordPress».

Стинсон отметил, что XWP удвоил свои усилия по разработке Tide в последние несколько месяцев, как только команда увидела потенциал инструмента и поделилась своими представлениями о нем с партнерами.

«Google, Automattic и WP Engine помогали своими ресурсами (деньгами, инфраструктурой, временем разработчиков, советами и т.д.) нашему проекту», — рассказал Стинсон. – «Их поддержка действительно помогла нам набрать обороты. Google стали активно помогать примерно с августа. Мы работали с ними над другими проектами, и, когда мы поделились с Google своими представлениями о Tide, им понравился наш инструмент. Они поняли, что он перекликается и с их видением лучшей сети в целом».

Проект Tide в настоящий момент не активен, однако бета-версия будет представлена на WordCamp US, после чего будет выпущен WordPress плагин. Стинсон сказал, что команда разработала первую версию, представляющую возможности Tide; разработчики хотят получить обратную связь от сообщества.

«Мы поняли, что для улучшения Tide надо открыть его код», — отметил он. – «В нем довольно много разных частей, и мы признаем, что чем больше будет обратной связи от сообщества, тем лучше будет инструмент, тем эффективнее он будет решать потребности сообщества по написанию качественного кода».

На данном этапе проект может, конечно, меняться. Команда Tide продолжает экспериментировать с разными способами представления аудитов, а также с оценкой данных при формировании общего результата.

«Рейтинг в виде звезд – лишь одна из идей, с которыми мы экспериментируем», — отметил Стинсон. – «Целью всего этого является представление полного отчета Tide в виде простых и понятных метрик, которые пользователи WordPress могут использовать для выбора подходящих плагинов и тем. Пока мы не знаем, какие метрики использовать и как грамотно вывести их. Но мы уже получили хорошую обратную связь от сообщества».

Сервис предназначен не только для вывода результатов, но и для того, чтобы разработчики могли выявить недостатки в своем коде и узнать, как их исправить.

«Понижение входного барьера для разработчиков по написанию качественного кода – то, чем мы изначально вдохновлялись», — отметил Стинсон.

Команда проекта Tide планирует уточнить метрики, используемые для аудита, основываясь на обратной связи сообщества

Сайт проекта Tide, wptide.org, будет запущен к мероприятию WordCamp US и предоставит разработчикам данные, включая такие особенности, как нумерацию строк и описание неудачных решений. Разработчики плагинов смогут использовать сайт для улучшения качества своего кода, а пользователи WordPress смогут быстро проверить качество плагина. Менеджер продукта XWP Люк Карбис объяснил, как высчитывается результат Tide.

«В данный момент Tide выполняет серию тестов кода плагинов/тем, формирует результаты, присваивает некоторый вес (потенциальные проблемы безопасности важнее, чем отступы и пробелы), после чего усредняет результаты в зависимости от количества строк кода», — указал Карбис. – «Результатом является оценка по 100-балльной шкале, что является хорошим индикатором качества кода плагина или темы. Алгоритм, определяющий оценку, в основном представляет собой серию таких присвоений веса».

Те факторы, которые в данный момент используются для оценки кода, будут впоследствии скорректированы в зависимости от обратной связи от сообщества WordPress.

«Если это будет оправданно, то, возможно, в один прекрасный день оценка плагинов/тем появится в панели администратора WordPress (на странице добавления плагинов/тем)», — говорит Карбис. – «Или, возможно, это может повлиять на результаты поиска (выше стоят плагины с более высоким рейтингом). Или, возможно, все это останется только на сайте wptide.org. Все зависит от сообщества».

Помимо выполнения проверок кода, сервис Tide также будет выполнять еще два сканирования. Скан Lighthouse, использующий инструмент Google для улучшения качества веб-страниц, будет выполняться для различных тем, что, по словам Карбиса, «является мощным технологическим достижением».

«Для каждой темы в каталоге мы развернем временную установку WordPress и выполним аудит Lighthouse в Headless-инстансе Chrome», — рассказал Карбис. – «Мы получим подробный отчет о качестве темы, причем не только для ее кода, но и для ее фронтэнд-особенностей».

Второй скан Tide будет связан с оценкой совместимости PHP и будет применим как к плагинам, так и к темам.

«Tide сможет определить, с какими версиями PHP будет работать плагин или тема», — говорит Карбис. – «Для пользователей это означает, что они смогут скрыть результаты, которые не будут работать с их установкой WordPress (или, по крайней мере, мы сможем выводить предупреждения об этом). Для хостингов это означает, что они смогут легко проверить совместимость с PHP перед обновлением до PHP 7 (в результате этого многие хостинги проведут обновление, что позволит добиться заметного прироста скорости).

Карбис отметил, что команда в настоящее время работает над тем, чтобы встроить совместимость с PHP в API WordPress.org, что, по его словам, позволит скорректировать поисковые результаты без каких-либо изменений в ядре WordPress.

«Мы хотели бы узнать у сообщества, полезна ли оценка качества кода, и если да, то как именно она должна выглядеть? (в виде оценки по 100-балльной шкале, рейтинга в виде звезд и т.д.)», — отметил Карбис. – «Мы опубликуем наши предложения после проведения WordCamp US и выхода плагина для WordPress».

Более детальная информация о метриках Tide и их применении в плагинах и темах WordPress будет доступна после запуска сервиса в бета-версии. Если у вас есть какие-либо предложения по Tide, вы можете посетить WordCamp US и заглянуть на стенд Google.

Источник: wptavern.com

Блог про WordPress
Комментарии: 3
  1. Антон

    WP и качество кода несовместимые понятия, сама его архитектура толкает людей на говнокод,а большинство из плагинописателей и не умеют ничего другого.

    Там просто невозможно написать ничего стоящего, когда у тебя в распоряжении глобальные объекты, сотни зачастую пересекающихся функций, отсутствии ООП (настоящего) в ядре, хранение данных в 5 таблицах у куча неявных костылей и особенностей, с которыми сталкиваешься только когда нужно реализовывать нестандартный функционал.

    1. Дмитрий (автор)

      Доля истины в ваших словах есть.

      Про отсутствие ООП: это логично и понятно — CMS делают ближе к народу, а функциональное программирование как-то ближе и понятнее большинству, чем все эти инкапсуляции и т.д.

      Конечно, все зависит от авторов плагинов и тем. Возможно, эта инициатива поможет подтянуть общее качество кода, поскольку индусов там тоже хватает.

  2. topbaza

    WP хорош для новичков и данный сервис как нельзя кстати новичкам, которые хотят обезопасить себя, однако серьезный проект на плагинах не построишь…

Добавить комментарий для Дмитрий Отменить ответ

Получать новые комментарии по электронной почте.