Il team Performance di WordPress sta lanciando una proposta per lo sviluppo di uno strumento di verifica dei plug-in simile al plug-in di verifica dei temi , che garantisce che i temi soddisfino gli standard e le migliori pratiche più recenti.
Nel 2021, il team Meta di WordPress ha creato uno scanner di codici che rileva potenziali rischi per la sicurezza, come le query SQL senza escape nel codice del plug-in, con l’obiettivo di ridurre il carico del team di plug-in attraverso l’automazione. Questo particolare strumento non è stato sviluppato per incoraggiare le best practices, ma piuttosto per garantire che i plug-in che entrano nella directory soddisfino gli standard minimi necessari per la sicurezza.
Il team Performance propone la creazione di un diverso tipo di plug-in che segnali eventuali violazioni dei requisiti di sviluppo dei plug-in e suggerisca le migliori pratiche con errori o avvisi.
“Dovrebbe coprire vari aspetti dello sviluppo dei plug-in, dai requisiti di base come il corretto utilizzo delle funzioni di internazionalizzazione alle migliori pratiche di accessibilità, prestazioni e sicurezza“, ha affermato Felix Arntz, collaboratore sponsorizzato da Google. Ha identificato tre obiettivi principali per il plugin:
- Fornisci agli sviluppatori di plug-in feedback sui requisiti e sulle migliori pratiche durante lo sviluppo.
- Fornisci al team di revisione dei plug-in wordpress.org uno strumento automatizzato aggiuntivo per identificare determinati problemi o punti deboli in un plug-in prima di una revisione manuale.
- Fornisci ai proprietari di siti tecnici uno strumento per valutare i plug-in in base a tali requisiti e alle migliori pratiche.
Il team delle prestazioni consiglia che il plug-in funzioni anche dalla riga di comando (usando WP-CLI) e che vada oltre l’analisi del codice statico per includere i controlli di runtime che eseguono il codice.
La proposta ha ricevuto finora feedback contrastanti. Diversi partecipanti alla discussione accolgono favorevolmente lo sviluppo di uno strumento del genere e sarebbero ansiosi di usarlo con i propri plugin. Altri sono preoccupati che i controlli diventino troppo pesanti e abbiano un impatto negativo sull’ecosistema dei plugin.
“Avere un plug-in per automatizzare questi controlli è fantastico“, ha affermato lo sviluppatore di WordPress Michael Nelson . “Mi preoccupo però che alla fine ciò significherà che anche gli sviluppatori degli autori di plugin WP dovranno adottare lo stile del codice di WP, il che sarebbe piuttosto fastidioso.”
Lo sviluppatore di WordPress Josh Pollock ha commentato di condividere queste preoccupazioni ed è preoccupato per come questi standard possano essere applicati a plug-in che non sono stati creati per supportare PHP5, utilizzare il compositore per la gestione e l’automazione delle dipendenze e condividere il codice PHP con altri framework.
“Se questo AIUTA gli sviluppatori di plugin, allora va bene, ma se viene usato come arma per insistere sugli standard, allora sospetto che sarà un chiodo nella bara di WP“, ha detto lo sviluppatore di plugin Robin W.
“Ma uno che dice semplicemente ‘non stai eseguendo correttamente l’escape del tuo codice’ e poi fa sì che lo sviluppatore del plug-in provi a trovare cosa e dove è sbagliato guiderà solo meno innovazione“.
Il team Performance richiede feedback dalla community, in particolare dagli sviluppatori di plug-in, dai revisori dei plug-in e dal meta team. Se sono in grado di raggiungere un consenso, Arntz ha affermato che il passo successivo è progettare l’infrastruttura per il controllo dei plug-in in un repository GitHub.
“Il team delle prestazioni sarebbe entusiasta di assumere la guida di questo progetto, ma è fondamentale che ulteriori contributori di altri team aiutino con il suo sviluppo, soprattutto quando si tratta di definire e implementare i diversi controlli”, ha affermato Arntz.
“Si tratta certamente di un progetto ambizioso e non è la prima volta che viene presentato un plugin checker. Va inoltre chiarito che probabilmente ci vorranno almeno alcuni mesi per arrivare a una prima versione. Tuttavia, siamo ottimisti sul fatto che, con solide basi e collaborazione sin dall’inizio, possiamo creare uno strumento che soddisfi i requisiti per controlli automatici affidabili dei plug-in”.