Obtenir un examen par les pairs pour mon nouveau plugin?


8

Quelle est la meilleure façon d'amener un développeur WordPress expérimenté à jeter un œil à mon plugin et à formuler des critiques constructives? J'ai écrit du code pour résoudre certaines de mes questions sur ce site, et je pense qu'elles pourraient aussi être utiles à d'autres. Cependant, comme ils le seraient par mes premiers plugins WordPress publics, et j'ai vu de nombreux exemples pas si géniaux dans le répertoire public WordPress, je voudrais savoir "où j'en suis" et comment je peux améliorer mes plugins. J'ai lu la liste des meilleures pratiques et je dois encore en appliquer certaines, mais j'aimerais également une réponse à la question plus générale "Est-ce un bon moyen de résoudre ce problème?"

Je viens de relire la discussion connexe surwp-hackers (je ne savais pas que les participants étaient aussi impliqués dans ce site, et que la question des "meilleures pratiques" en est la conséquence directe). Je ne suis pas sûr que mes besoins seraient couverts par un tel système, et je partage les préoccupations de Paul :

Lorsque j'ai lu les commentaires originaux sur ce sujet la semaine dernière, je pensais que le but était de mettre en place un processus d'examen par les pairs où le développeur de plugins peut offrir des conseils à d'autres développeurs de plugins pour réviser leur code. J'ai initialement pris ce conseil comme quelque chose du genre "Eh bien, votre code fonctionne mais cet ensemble de routines que vous avez écrit serait mieux servi si vous vous connectiez simplement à ce filtre WP et essayiez cette technique (voir le plugin xxx comme exemple) ". Le but que je pensais était de partager les connaissances sur le développement de plugins WP et de faire de tout développeur de plugins médiocre un meilleur développeur. Comme moi.

Ce serait une portée différente de celle d'un examen point par point de la liste de contrôle, ce serait plutôt un «mentorat». Il semble que beaucoup de gens soient prêts à le faire, et (encore mieux) beaucoup d'entre eux participent ici sur ce site, alors comment pouvons-nous transformer toute cette énergie en quelque chose de concret?

Mon exemple actuel est trois plugins que j'ai écrits pour résoudre mon problème de "redimensionnement d'image" . J'ai écrit de longs commentaires d'introduction à chaque plugin, ce qui (j'espère) facilite la compréhension de mes intentions sans lire le code complet. Y a-t-il autre chose que je puisse faire pour permettre aux autres d'y jeter un œil? Veuillez ignorer ma demande concrète actuelle. Non seulement il est trop tôt pour eux, mais j'ai changé d'avis et je ne veux pas gâcher la discussion générale avec ma situation particulière.


Il semble y avoir des codeurs de plugins vétérans ici, alors pourquoi ne pas demander ici?
Raphael

2
@Raphael: Je viens de le faire, non? :-) Mais je voulais généraliser ma question, donc d'autres pourraient la trouver utile aussi. Peut-être qu'il y a quelques directives générales que l'on peut suivre pour rendre leur plugin plus facile à examiner.
Jan Fabry

4 ans plus tard ... avez-vous déjà pu sortir ces plugins? Les points essentiels suggèrent qu'ils sont encore à mi-chemin, mais cela semble toujours être une bonne idée.
Moralida

@moraleida Google est votre ami - gist.github.com/janfabry
patrickzdb

Réponses:


4

La manière la plus simple est une approche en deux étapes:

  1. Communiquez votre plug-in au public. Une fois qu'il sera en ligne, vous commencerez à recevoir des commentaires des utilisateurs finaux en plus des développeurs. Si vous le souhaitez, publiez-le en version "bêta" et insistez fortement sur cela dans le fichier Lisez-moi.
  2. Demander. Il y a des développeurs WordPress vétérans partout: ici, sur la liste WP-Hackers, dans les emplois WordPress , traquer @wordpress sur Twitter, etc. Il suffit de lancer votre plug-in et de demander des commentaires.

En général, suivez les mêmes étapes que pour obtenir un patch Core examiné par un développeur:

  • Écris le
  • Documentez-le
  • Contactez un développeur (soit globalement via l'un des canaux ci-dessus ou directement si vous le pouvez) et demandez des commentaires

En ce qui concerne la transformation du type de «mentorat» qui se produit sur ce site en quelque chose de plus concret, ce serait un processus organique. Comme vous l'avez déjà mentionné, les efforts visant à créer une sorte de processus d'examen des plug-ins avant d' examiner réellement quoi que ce soit semblent être au point mort. La seule façon d'obtenir quoi que ce soit sur le sol est en fait commencer à le faire. Alors ne vous contentez pas de parler de trouver un développeur expérimenté et d'obtenir des commentaires, sortez, trouvez-en un, obtenez vos commentaires et notez comment le processus s'est déroulé.

Ensuite, il peut être répété avec les futurs plug-ins et les futurs développeurs. Mais vous devez commencer quelque part ...


Merci pour la réponse. Une chose qui m'a empêché de vous demander directement, Mike ou d'autres contributeurs de haut niveau ici, c'est que je ne veux pas vous imposer et vous "forcer" à faire quelque chose que vous préférez ne pas faire, mais êtes trop poli pour déclin. Et il serait peut-être préférable d'obtenir des commentaires avant de libérer le plugin, pour m'empêcher, ainsi que ses utilisateurs, de possibles stupidités.
Jan Fabry

1. N'a pas fonctionné pour moi. J'ai eu quelques centaines de téléchargements mais pas même un seul vote sur wordpress.org.
Raphael

Les votes @Raphael sur WordPress.org ne sont pas de vrais commentaires pour commencer. Le fait que vous n'ayez pas reçu de plaintes ou reçu de rapport de bogue signifie que cela fonctionne très probablement et que vos utilisateurs finaux sont satisfaits. Maintenant qu'il est dans le référentiel, il est plus facile pour les développeurs d'obtenir et d'afficher la source. À ce stade, vous devez passer à l'étape 2 et demander à un développeur chevronné de jeter un coup d'œil et de fournir des commentaires.
EAMann

1

Après un rapide coup d'œil à https://gist.github.com/675437, j'ai vu quelques points mineurs, principalement sur la lisibilité:

  • Écrivez une bonne documentation de code: Docblocks… et insérez des commentaires chaque fois que quelque chose n'est pas absolument clair.
  • Divisez les fonctions looong en fonctions séparées plus courtes. Ils sont plus faciles à lire et à aborder dans les commentaires des évaluateurs.
  • Alignez vos opérateurs d'affectation, ajoutez des espaces entre parenthèses.
  • Longueur de ligne de 80 caractères, s'il vous plaît! Eclipse ne peut toujours pas encapsuler de longues lignes. :(
  • Gardez votre code »à gauche«, enregistrez les retraits. Au lieu de:

.  

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

… écrire …

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

J'ai écrit un nouveau plugin juste ce soir… et je me demandais si je pouvais poser exactement votre question. Bon timing. :)


Merci pour vos premiers commentaires. J'étais peut-être un peu trop tôt, car j'ai en effet besoin de procéder à une modification approfondie pour aligner le code sur les normes de codage, de sorte qu'il est plus facile de se concentrer sur le contenu. Bon point à propos de la règle "partez tôt pour enregistrer les retraits", mais je suppose que les 4 espaces supplémentaires sur chaque ligne de votre deuxième exemple ne sont pas intentionnels?
Jan Fabry

Uhm, oui, Markdown a modifié le formatage après la liste. Je le réparerai.
fuxia

Merci pour vos commentaires, mais j'ai relu la discussion originale sur la liste des wp-hackers et j'ai décidé d'élargir la portée, enlevez ma demande spécifique de la question. Cela signifie que votre réponse n'est plus aussi appropriée, vous voudrez peut-être la supprimer.
Jan Fabry

0

Cela m'a fait penser à Appscan: http://www01.ibm.com/software/rational/products/appscan/source/ ; http://www-01.ibm.com/software/rational/products/appscan/source/features/ version d'essai de la version légère: http://www-01.ibm.com/software/awdtools/appscan/express/

Cela peut faire du php et on peut y mettre des règles supplémentaires pour vérifier les choses. De cette façon une pièce peut être automatisée (comme certaines bonnes pratiques comme dans la réponse de toscho), elle peut vérifier la sécurité, les normes de codage, les optimisations etc ...

Je dis juste: si un outil peut vérifier 80%, les 20% de vérifications manuelles pour un gourou seraient moindres. Cela aiderait également à générer des rapports de conformité pour l'utilisation d'un plugin au sein d'une grande entreprise qui exige ce genre de choses autour de code supplémentaire.

Nous automatisons les choses pour les autres, alors pourquoi pas pour nous-mêmes?

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.