Il progetto Tide mira a controllare e valutare temi e plugin di WordPress in base alla qualità del codice
Pubblicato: 2017-11-23La scorsa settimana XWP ha rilasciato un'interessante anteprima di un nuovo progetto chiamato Tide che mira a migliorare la qualità del codice negli ecosistemi di plugin e temi di WordPress. L'azienda ha lavorato con il supporto di Google, Automattic e WP Engine, alla creazione di un nuovo servizio che aiuterà gli utenti a prendere decisioni migliori sui plug-in e assisterà gli sviluppatori nella scrittura di codice migliore.
Il responsabile marketing di XWP Rob Stinson ha riassunto la direzione del progetto finora:
Tide è un servizio, composto da API, Audit Server e Sync Server, che lavorano in tandem per eseguire una serie di test automatici contro il plugin WordPress.org e le directory dei temi. Attraverso il plug-in Tide, i risultati di questi test vengono forniti come punteggio aggregato nell'amministratore di WordPress che rappresenta la qualità complessiva del codice del plug-in o del tema. Viene generato un rapporto completo, che consente agli sviluppatori di comprendere meglio come possono aumentare la qualità del loro codice.
L'annuncio di XWP includeva anche uno screenshot di come questi dati potrebbero essere presentati nella directory dei plugin di WordPress:

XWP prevede di presentare il servizio al WordCamp US a Nashville presso lo stand di Google, dove inviterà la comunità a partecipare. Naturalmente, un progetto con il potenziale per avere un tale impatto sull'ecosistema dei plugin solleva molte domande su chi c'è dietro la visione e che tipo di metriche verranno utilizzate.
Ho contattato Rob Stinson e Luke Carbis di XWP, che contribuiscono entrambi al progetto, per dare un'occhiata da vicino a come è iniziato e dove si aspettano che andrà.
"Tide è stato avviato in XWP circa 12 mesi fa, quando uno dei nostri team di assistenza ha messo insieme l'idea, seguita da un proof of concept, di uno strumento che eseguiva una serie di test di qualità del codice rispetto a un pacchetto di codice (plug-in WordPress) e ha restituito i risultati tramite un'API", ha affermato Stinson. "Poco dopo abbiamo inventato il nome Tide, ispirato al proverbio 'Una marea crescente solleva tutte le barche', pensando che se uno strumento come questo potesse abbassare la barriera all'ingresso di un codice di buona qualità per un numero sufficiente di sviluppatori, potrebbe aumentare la qualità di codice nell'intero ecosistema di WordPress."
Stinson ha affermato che XWP ha intensificato i suoi sforzi su Tide negli ultimi mesi dopo aver iniziato a vedere il suo potenziale e aver condiviso la visione con i partner.
"Di recente, anche Google, Automattic e WP Engine hanno aiutato a risorse (fondi, infrastrutture, tempo per gli sviluppatori, consigli, ecc.) Il progetto", ha affermato Stinson. “Il loro supporto ci ha davvero aiutato a creare slancio. Google è stato una parte importante di questo da circa agosto. Abbiamo lavorato con loro su altri progetti e quando abbiamo condiviso con loro la visione di Tide, l'hanno adorato e hanno visto quanto fosse in linea con la visione che hanno per un web più performante".
Il servizio Tide non è attualmente attivo ma una versione beta verrà lanciata su WordCamp US con un plug-in WordPress a seguire poco dopo. Stinson ha affermato che il team ha progettato la prima versione per presentare le possibilità di Tide e incoraggiare il feedback e il contributo della community.
"Ci rendiamo conto che Tide sarà il migliore se sarà open source", ha detto. "Ci sono molte parti in movimento e riconosciamo che maggiore è l'input della comunità, meglio rappresenterà e risolverà le esigenze della comunità in merito alla qualità del codice".
In questa fase del progetto, nulla è stato scolpito nella pietra. Il team di Tide sta continuando a sperimentare modi diversi per rendere disponibili i dati di audit del plug-in, oltre a perfezionare il modo in cui tali dati vengono pesati quando si fornisce un punteggio Tide.
"La valutazione in stelle è solo un'idea con cui abbiamo giocato", ha detto Stinson. “Lo scopo sarà quello di aggregare il rapporto completo prodotto da Tide in una metrica semplice e di facile comprensione a cui gli utenti di WordPress possono fare riferimento quando prendono decisioni su plugin e temi. Sappiamo di non avere questa metrica e di come viene visualizzata correttamente. Abbiamo già ricevuto ottimi riscontri dalla community".

Il servizio non è progettato solo per generare punteggi, ma anche per consentire agli sviluppatori di identificare facilmente i punti deboli nel loro codice e imparare a risolverli.
"Abbassare la barriera di accesso alla scrittura di un buon codice è stata l'ispirazione originale per l'idea", ha affermato Stinson.
Il team del progetto Tide prevede di perfezionare le metriche utilizzate per il punteggio di audit in base al feedback della community
Il sito Web del progetto Tide, wptide.org, verrà lanciato a WordCamp negli Stati Uniti e fornirà agli sviluppatori i punteggi, comprese le specifiche come i numeri di riga e le descrizioni degli sniff non riusciti. Gli sviluppatori di plug-in potranno utilizzare il sito per migliorare il proprio codice e gli utenti di WordPress potranno verificare rapidamente la qualità di un plug-in. Luke Carbis, product manager di XWP, ha spiegato come viene attualmente calcolato il punteggio Tide.
"In questo momento, Tide esegue una serie di sniff di codice su un plug-in/tema, prende i risultati, applica alcune ponderazioni (i potenziali problemi di sicurezza sono più importanti delle tabulazioni rispetto agli spazi) e quindi calcola la media dei risultati per riga di codice", Carbis disse. "Il risultato è un punteggio su 100, che è un ottimo indicatore della qualità di un plugin o di un tema. L'"algoritmo" che determina il punteggio è fondamentalmente solo una serie di ponderazioni".
Le ponderazioni attualmente utilizzate dal servizio sono state selezionate come punto di partenza, ma Carbis ha affermato che il team spera che la community di WordPress li aiuti a perfezionarlo.
"Se ha senso, forse un giorno questo punteggio potrebbe essere emerso nell'amministratore di WordPress (nella pagina Aggiungi nuovo plug-in)", ha affermato Carbis. “O forse potrebbe influenzare i risultati della ricerca (i plugin con le valutazioni più alte sono al primo posto). O forse rimane solo su wptide.org. Sta davvero alla comunità decidere”.
Oltre a eseguire codeniff, il servizio Tide eseguirà altre due scansioni. Una scansione di Lighthouse, utilizzando lo strumento automatizzato open source di Google per migliorare la qualità delle pagine Web, verrà eseguita sui temi, che secondo Carbis è un "enorme risultato tecnologico".
"Per ogni tema nella directory, stiamo avviando un'installazione temporanea di WordPress ed eseguendo un audit di Lighthouse in un'istanza di Chrome senza testa", ha affermato Carbis. "Ciò significa che otteniamo un rapporto dettagliato sulla qualità dell'output front-end del tema, non solo sul codice che lo alimenta".
La seconda scansione Tide eseguirà misure di compatibilità PHP e si applicherà sia ai plugin che ai temi.
"Tide può dire con quali versioni di PHP un plugin o un tema funzionerà", ha affermato Carbis. "Per gli utenti, questo significa che potremmo potenzialmente nascondere risultati che sappiamo non funzioneranno con la loro installazione di WordPress (o almeno mostrare un avviso). Per gli host, ciò significa che possono facilmente verificare la compatibilità con PHP prima di aggiornare un'installazione a PHP 7 (pensiamo che ciò comporterà l'aggiornamento di molte più installazioni: l'effetto netto è un notevole aumento della velocità, che troviamo davvero eccitante e motivante). "
Carbis ha affermato che il team sta attualmente lavorando a breve termine per inserire il componente sulla compatibilità PHP nell'API di WordPress.org, che secondo lui potrebbe iniziare a influenzare i risultati di ricerca senza alcuna modifica al core di WordPress.
“Vorremmo anche iniziare a impegnarci con la community per scoprire se la visualizzazione di un punteggio di qualità del codice per gli utenti di WordPress è utile e, se lo è, che aspetto ha? (es. punteggio su 100, valutazione a 5 stelle, A/B/C/D, ecc.)”, ha affermato Carbis. "Rilasceremo il nostro suggerimento su come potrebbe apparire come plug-in poco dopo WordCamp US."
Informazioni più specifiche sulle metriche attualmente utilizzate da Tide e su come si applicano a plug-in e temi saranno disponibili dopo il lancio del servizio in versione beta. Se stai partecipando a WordCamp US e hai suggerimenti o feedback da offrire al team, assicurati di passare allo stand di sponsorizzazione di Google.
