Tide Project нацелен на аудит и оценку тем и плагинов WordPress на основе качества кода

Опубликовано: 2017-11-23

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

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

Tide — это служба, состоящая из API, сервера аудита и сервера синхронизации, работающих в тандеме для запуска серии автоматических тестов для каталогов плагинов и тем WordPress.org. С помощью плагина Tide результаты этих тестов предоставляются в виде сводной оценки в панели администратора WordPress, которая отражает общее качество кода плагина или темы. Создается исчерпывающий отчет, позволяющий разработчикам лучше понять, как они могут повысить качество своего кода.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Взвешивание, которое служба использует в настоящее время, было выбрано в качестве отправной точки, но Карбис сказал, что команда надеется, что сообщество WordPress поможет им усовершенствовать его.

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

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

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

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

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

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

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

Более подробная информация о метриках, которые Tide использует в настоящее время, и о том, как они применяются к плагинам и темам, будет доступна после запуска сервиса в бета-версии. Если вы участвуете в WordCamp в США и у вас есть предложения или отзывы, которые вы могли бы предложить команде, обязательно зайдите на стенд Google для спонсоров.