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 贊助展位前停下來。