Tide 项目旨在根据代码质量对 WordPress 主题和插件进行审核和评分

已发表: 2017-11-23

上周,XWP 放弃了一个名为 Tide 的新项目的有趣预览,该项目旨在提高 WordPress 插件和主题生态系统的代码质量。 该公司一直在 Google、Automattic 和 WP Engine 的支持下努力创建一项新服务,以帮助用户做出更好的插件决策并帮助开发人员编写更好的代码。

XWP 的营销经理 Rob Stinson 总结了迄今为止该项目的方向:

Tide 是一项服务,由 API、Audit Server 和 Sync Server 组成,协同工作以针对 WordPress.org 插件和主题目录运行一系列自动化测试。 通过 Tide 插件,这些测试的结果在 WordPress 管理员中以汇总分数的形式提供,代表插件或主题的整体代码质量。 生成一份综合报告,使开发人员能够更好地了解如何提高代码质量。

XWP 公告还包括了如何在 WordPress 插件目录中显示此数据的屏幕截图:

XWP 计划在位于纳什维尔的 WordCamp US 的 Google 展台上推出这项服务,他们将邀请社区参与其中。 自然地,一个有可能对插件生态系统产生如此大影响的项目会引发许多问题,即愿景背后的人是谁以及将使用什么样的指标。

我联系了 XWP 的 Rob Stinson 和 Luke Carbis,他们都是该项目的贡献者,以深入了解它是如何开始的以及他们预期的进展情况。

“Tide 大约 12 个月前在 XWP 开始,当时我们的一个服务团队汇集了这个想法,随后进行了概念验证,该工具针对一个代码包(WordPress 插件)运行一系列代码质量测试,并且通过 API 返回结果,”Stinson 说。 “我们不久后想出了 Tide 这个名字,灵感来自谚语‘涨潮掀起所有船只’,我们认为如果这样的工具可以降低足够多的开发人员获得优质代码的门槛,它就可以提高质量整个 WordPress 生态系统的代码。”

Stinson 表示,XWP 在开始看到其潜力并与合作伙伴分享愿景后,在过去几个月加大了对 Tide 的努力。

“谷歌、Automattic 和 WP Engine 最近也都为该项目提供了资源(资金、基础设施、开发人员时间、建议等),”Stinson 说。 “他们的支持确实帮助我们建立了势头。 自八月左右以来,谷歌一直是其中的重要组成部分。 我们一直在与他们合作开展其他项目,当我们与他们分享 Tide 的愿景时,他们非常喜欢它,并看到它与他们对性能更好的网络的愿景是多么一致。”

Tide 服务目前未启用,但随后不久将在 WordCamp US 推出带有 WordPress 插件的测试版。 Stinson 表示,团队设计第一个版本是为了展示 Tide 的可能性,并鼓励社区的反馈和贡献。

“我们意识到,如果 Tide 开源,它将是最好的,”他说。 “它有很多变化的部分,我们认识到社区的投入越大,它就越能代表和解决社区围绕代码质量的需求。”

在项目的这个阶段,没有什么是一成不变的。 Tide 团队正在继续试验使插件审计数据可用的不同方法,并在提供 Tide 分数时改进这些数据的加权方式。

“星级只是我们一直在玩的一个想法,”斯廷森说。 “它的目的是将 Tide 生成的完整报告汇总为一个简单易懂的指标,WordPress 用户在做出有关插件和主题的决定时可以参考该指标。 我们知道我们没有得到这个指标以及它是如何正确显示的。 我们已经从社区获得了一些很好的反馈。”

该服务不仅旨在输出分数,还使开发人员能够轻松识别代码中的弱点并学习如何修复它们。

“降低编写好代码的门槛是这个想法的最初灵感,”斯廷森说。

Tide 项目团队计划根据社区反馈细化用于审计分数的指标

Tide 项目网站 wptide.org 将在 WordCamp US 启动,并将为开发人员提供分数,包括行号和失败嗅探描述等细节。 插件开发人员将能够使用该站点来改进他们的代码,WordPress 用户将能够快速检查插件的质量。 XWP 产品经理 Luke Carbis 解释了当前如何计算 Tide 分数。

“现在,Tide 在插件/主题上运行一系列代码嗅探,获取结果,应用一些权重(潜在的安全问题比制表符和空格更重要),然后平均每行代码的结果,”Carbis说。 “这个输出是 100 分,这是插件或主题质量的一个很好的指标。 决定分数的‘算法’基本上只是一系列的权重。”

该服务当前使用的权重被选为起点,但 Carbis 表示,该团队希望 WordPress 社区能够帮助他们完善它。

“如果有意义的话,也许有一天这个分数会出现在 WordPress 管理员中(在添加新插件页面上),”Carbis 说。 “或者它可能会影响搜索结果(评分较高的插件排名第一)。 或者它只是留在 wptide.org 上。 这真的取决于社区来决定。”

除了运行代码嗅探外,Tide 服务还将运行另外两次扫描。 将使用谷歌的开源自动化工具来提高网页质量的 Lighthouse 扫描将针对主题执行,Carbis 称这是一项“巨大的技术成就”。

“对于目录中的每个主题,我们正在启动临时 WordPress 安装,并在无头 chrome 实例中运行 Lighthouse 审计,”Carbis 说。 “这意味着我们可以获得主题前端输出质量的详细报告,而不仅仅是为其提供动力的代码。”

第二次扫描 Tide 将执行 PHP 兼容性测量,并将适用于插件和主题。

“Tide 可以判断插件或主题将使用哪些版本的 PHP,”Carbis 说。 “对于用户来说,这意味着我们可能会隐藏我们知道不适用于他们的 WordPress 安装的结果(或至少显示警告)。 对于主机而言,这意味着他们可以在将安装升级到 PHP 7 之前轻松检查 PHP 兼容性(我们认为这将导致更多安装升级 - 净效果是显着的速度提高,我们觉得这非常令人兴奋和激励)。 ”

Carbis 表示,该团队目前正在短期内将 PHP 兼容性部分纳入 WordPress.org API,他说这可以开始影响搜索结果,而无需对 WordPress 核心进行任何更改。

“我们还想开始与社区互动,以了解向 WordPress 用户展示代码质量分数是否有帮助,如果有帮助,那是什么样的? (例如,满分 100 分、5 星评级、A/B/C/D 等),”Carbis 说。 “我们将在 WordCamp US 之后不久发布我们的建议看看它作为一个插件会是什么样子。”

有关 Tide 当前使用的指标以及它如何应用于插件和主题的更多具体信息将在服务以测试版启动后提供。 如果您正在参加美国 WordCamp 并有一些建议或反馈可以提供给团队,请务必在 Google 赞助展位前停下来。