Ricevi una recensione tra pari per il mio nuovo plugin?


8

Qual è il modo migliore per convincere uno sviluppatore esperto di WordPress a dare un'occhiata al mio plugin e esprimere critiche costruttive? Ho scritto codice per risolvere alcune delle mie domande su questo sito e penso che potrebbero essere utili anche ad altri. Tuttavia, dal momento che lo farebbero con i miei primi plugin WordPress pubblici e ho visto molti esempi non così grandi nella directory pubblica di WordPress, vorrei sapere "dove mi trovo" e come posso migliorare i miei plugin. Ho letto l'elenco delle migliori pratiche e devo ancora applicarne alcune, ma vorrei anche una risposta alla domanda più generale "È un buon modo per risolvere questo problema?"

Ho appena riletto la relativa discussione suwp-hackers (non mi rendevo conto che anche i partecipanti erano così coinvolti in questo sito e che la domanda "best practice" ne è il risultato diretto). Non sono sicuro che le mie esigenze sarebbero coperte da un tale sistema e sono d'accordo con le preoccupazioni di Paul :

Quando ho letto i commenti originali su questa discussione la scorsa settimana, ho pensato che lo scopo era quello di mettere insieme un processo di revisione tra pari in cui lo sviluppatore di plugin potesse offrire consigli ad altri sviluppatori di plugin come revisione del loro codice. Inizialmente ho preso questo consiglio come qualcosa del tipo "Bene, il tuo codice funziona, ma questo set di routine che hai scritto sarebbe meglio servito se ti agganciassi a questo filtro WP e provassi questa tecnica (vedi esempio di plugin xxx) ". L'obiettivo che pensavo era quello di condividere le conoscenze sullo sviluppo di plugin WP e rendere qualsiasi sviluppatore di plugin mediocre uno sviluppatore migliore. Come me

Questo sarebbe un ambito diverso da quello di fare una revisione della lista di controllo punto per punto, sarebbe più un "tutoraggio". Sembra che ci siano molte persone disposte a farlo e (anche meglio) molte di loro partecipano qui su questo sito, quindi come possiamo trasformare tutta quell'energia in qualcosa di concreto?

Il mio esempio attuale sono tre plugin che ho scritto per risolvere il mio problema di "ridimensionamento dell'immagine" . Ho scritto lunghi commenti introduttivi per ogni plugin, che (spero) rende più facile capire le mie intenzioni senza leggere il codice completo. C'è qualcos'altro che posso fare per rendere più facile agli altri dare un'occhiata? Per favore ignora la mia attuale richiesta concreta. Non solo è troppo presto per loro, ma ho cambiato idea e non voglio rovinare la discussione generale con la mia situazione specifica.


Sembra che ci siano alcuni programmatori di plug-in veterani qui, quindi perché non chiedere qui?
Raffaello,

2
@Raphael: L'ho appena fatto, no? :-) Ma volevo generalizzare la mia domanda, quindi anche altri potrebbero trovarla utile. Forse ci sono alcune linee guida generali che si possono seguire per rendere più facile la revisione del loro plugin.
Jan Fabry,

4 anni dopo ... sei mai riuscito a rilasciare quei plugin? I saggi suggeriscono che sono ancora a metà strada, ma sembra comunque una buona idea.
moraleida,

@moraleida Google è tuo amico - gist.github.com/janfabry
patrickzdb

Risposte:


4

Il modo più semplice è un approccio in due fasi:

  1. Rilascia il tuo plug-in al pubblico. Una volta online, inizierai a ricevere feedback dagli utenti finali oltre agli sviluppatori. Se vuoi, rilascialo come versione "beta" e sottolinealo nel file Leggimi.
  2. Chiedi. Ci sono veterani sviluppatori di WordPress ovunque: qui, nell'elenco WP-Hackers, nei lavori di WordPress , stalking @wordpress su Twitter, ecc. È solo questione di lanciare il plug-in e chiedere feedback.

In generale, segui gli stessi passaggi che faresti vedere a uno sviluppatore una patch Core:

  • Scrivilo
  • Documentalo
  • Contatta uno sviluppatore (in generale attraverso uno dei canali sopra indicati o direttamente se puoi) e chiedi un feedback

Per quanto riguarda la trasformazione del tipo di "tutoraggio" che si verifica in questo sito in qualcosa di più concreto, sarebbe un processo organico. Come hai già detto, gli sforzi per creare una sorta di processo di revisione dei plug-in prima di riesaminare qualcosa sembrano essersi arrestati. L'unico modo per ottenere qualcosa da terra è in realtà iniziare a farlo. Quindi non parlare solo di trovare uno sviluppatore veterano e ottenere feedback, uscire, trovarne uno, ottenere il tuo feedback e scrivere come è andato il processo.

Quindi può essere ripetuto con futuri plug-in e futuri sviluppatori. Ma devi iniziare da qualche parte ...


Grazie per la risposta. Una cosa che mi ha trattenuto dal chiedere direttamente a te, Mike o altri collaboratori di alto profilo qui è che non voglio importi e "costringerti" a fare qualcosa che preferiresti non fare, ma sei troppo educato per declino. E potrebbe essere meglio ottenere un feedback prima di rilasciare il plug-in, per impedire a me e ai suoi utenti di possibili stupidità.
Jan Fabry,

1. Non ha funzionato per me. Ho avuto centinaia di download ma nemmeno un singolo voto su wordpress.org.
Raffaello

@Raphael I voti su WordPress.org non sono feedback reali per cominciare. Il fatto che non hai ricevuto reclami o ricevuto segnalazioni di bug significa che molto probabilmente funziona e i tuoi utenti finali sono soddisfatti. Ora che è nel repository, tuttavia, è più facile per gli sviluppatori ottenere e visualizzare la fonte. A questo punto, dovresti passare al passaggio 2 e chiedere a uno sviluppatore veterano di dare un'occhiata e fornire un feedback.
EAMann,

1

Dopo una rapida occhiata a https://gist.github.com/675437 ho visto alcuni punti minori, principalmente sulla leggibilità:

  • Scrivi una buona documentazione in codice: Docblocks ... e incorpora commenti ogni volta che qualcosa non è assolutamente chiaro.
  • Dividi le funzioni looong in funzioni separate più brevi. Sono più facili da leggere e da affrontare nei commenti dei revisori.
  • Allinea i tuoi operatori di assegnazione, aggiungi spazi bianchi tra parentesi.
  • Lunghezza di 80 caratteri, per favore! Eclipse non può ancora avvolgere le linee lunghe. :(
  • Conserva il codice »left«, salva i rientri. Invece di:

.  

public function checkUrl()
{
    if (is_404()) {
        // code
    }
}

… Scrivi …

public function checkUrl()
{
    if ( ! is_404() ) {
        return;
    }
    // code
}

Ho scritto un nuovo plug-in proprio stasera ... e mi chiedevo se potevo fare esattamente la tua domanda. Buon tempismo. :)


Grazie per i tuoi commenti iniziali. Forse ero un po 'troppo presto, dal momento che ho davvero bisogno di fare una modifica completa per rendere il codice in linea con gli standard di codifica, quindi è più facile concentrarsi sui contenuti. Un buon punto sulla regola "parti presto per salvare i rientri", ma presumo che i 4 spazi extra su ciascuna riga del tuo secondo esempio siano involontari?
Jan Fabry,

Uhm, sì, Markdown ha modificato la formattazione dopo l'elenco. Lo aggiusterò.
fuxia

Grazie per i vostri commenti, ma ho riletto la discussione originale sull'elenco di hacker wp e ho deciso di ampliare l'ambito per rimuovere la mia richiesta specifica dalla domanda. Questo significa che la tua risposta non è più adatta, forse potresti volerla eliminare.
Jan Fabry,

0

Mi ha fatto pensare ad Appscan: http://www01.ibm.com/software/rational/products/appscan/source/ ; http://www-01.ibm.com/software/rational/products/appscan/source/features/ trial of light version: http://www-01.ibm.com/software/awdtools/appscan/express/

Questo può fare php e si possono mettere regole extra per verificare le cose. In questo modo una parte può essere automatizzata (come alcune best practice come nella risposta di toscho), può verificare sicurezza, standard di codifica, ottimizzazioni ecc ...

Sto solo dicendo: se uno strumento può verificare l'80%, i controlli del 20% per i controlli manuali per un guru sarebbero inferiori. Aiuterebbe anche a generare rapporti di conformità per l'uso di un plug-in all'interno di una grande azienda che richiede questo tipo di cose intorno al codice aggiuntivo.

Automatizziamo le cose per altre persone, quindi perché non per noi stessi?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.