Obtendo uma revisão por pares para o meu novo plugin?


8

Qual é a melhor maneira de obter um desenvolvedor WordPress experiente, dê uma olhada no meu plugin e faça críticas construtivas? Eu escrevi um código para resolver algumas das minhas perguntas neste site e acho que elas também podem ser úteis para outras pessoas. No entanto, como eles apareceriam nos meus primeiros plugins públicos do WordPress, e eu já vi muitos exemplos não tão bons no diretório público do WordPress, gostaria de saber "onde estou" e como posso melhorar meus plugins. Li a lista de práticas recomendadas e ainda preciso aplicar algumas delas, mas também gostaria de responder à pergunta mais geral "Essa é uma boa maneira de resolver esse problema?"

Acabei de reler a discussão relacionadawp-hackers (não percebi que os participantes também estavam tão envolvidos neste site e que a questão das "melhores práticas" é um resultado direto disso). Não sei se minhas necessidades seriam cobertas por esse sistema e concordo com as preocupações de Paul :

Quando li os comentários originais sobre este tópico na semana passada, pensei que o objetivo era montar um processo de revisão por pares, no qual o desenvolvedor de plug-ins pode oferecer conselhos a outros desenvolvedores de plug-ins como revisão de seu código. Originalmente, aceitei esse conselho como algo parecido com "Bem, seu código funciona, mas esse conjunto de rotinas que você escreveu seria melhor servido se você apenas se conectasse a esse filtro WP e tentasse essa técnica (veja o plug-in xxx como exemplo) " O objetivo que pensei foi compartilhar o conhecimento de desenvolvimento de plugins WP e tornar qualquer desenvolvedor medíocre de plug-in um desenvolvedor melhor. Como eu.

Esse seria um escopo diferente do que fazer uma revisão de lista de verificação ponto a ponto; seria mais uma "orientação". Parece que há muitas pessoas dispostas a fazer isso e (ainda melhor) muitas delas participam aqui neste site, então como podemos transformar toda essa energia em algo concreto?

Meu exemplo atual são três plugins que escrevi para resolver meu problema de "redimensionamento de imagem" . Escrevi longos comentários introdutórios para cada plug-in, o que (espero) facilita a compreensão de minhas intenções sem ler o código completo. Há mais alguma coisa que eu possa fazer para facilitar a visualização de outras pessoas? Ignore meu pedido concreto atual. Não é apenas muito cedo para eles, mas mudei de idéia e não quero estragar a discussão geral com a minha situação específica.


Parece haver alguns codificadores de plugins veteranos aqui, então por que não perguntar aqui?
Raphael

2
@Raphael: Acabei de fazer, não foi? :-) Mas eu queria generalizar minha pergunta, para que outros também a achassem útil. Talvez existam algumas diretrizes gerais que podem ser seguidas para facilitar a revisão do plugin.
Jan Fabry

4 anos depois ... você já lançou esses plugins? As dicas sugerem que ainda estão no meio do caminho, mas ainda parece uma boa ideia.
moraleida 29/07

@moraleida O Google é seu amigo - gist.github.com/janfabry
patrickzdb

Respostas:


4

A maneira mais fácil é uma abordagem em duas etapas:

  1. Libere seu plug-in para o público. Quando estiver ativo, você começará a receber feedback dos usuários finais e dos desenvolvedores. Se desejar, libere-o como uma versão "beta" e enfatize-o fortemente no arquivo leia-me.
  2. Peça. Há desenvolvedores veteranos do WordPress em todos os lugares: aqui, na lista WP-Hackers, nos trabalhos do WordPress , perseguindo @wordpress no Twitter, etc. É apenas uma questão de lançar seu plug-in e pedir feedback.

Em geral, siga as mesmas etapas para obter um patch Core analisado por um desenvolvedor:

  • Escreva
  • Documente
  • Entre em contato com um desenvolvedor (em geral através de um dos canais acima ou diretamente, se puder) e peça feedback

Tanto quanto transformar o tipo de "orientação" que ocorre neste site em algo mais concreto, seria um processo orgânico. Como você já mencionou, os esforços para criar um tipo de processo de revisão de plug-in antes de revisar qualquer coisa parecem ter parado. A única maneira de tirar algo do chão é realmente começar a fazê-lo. Portanto, não basta falar sobre encontrar um desenvolvedor veterano e obter feedback, sair, encontrar um, obter seu feedback e escrever como foi o processo.

Em seguida, pode ser repetido com futuros plug-ins e futuros desenvolvedores. Mas você tem que começar em algum lugar ...


Obrigado pela resposta. Uma coisa que me impediu de perguntar diretamente a você, Mike ou outros colaboradores importantes aqui é que eu não quero impor a você e "forçá-lo" a fazer algo que você prefere não fazer, mas é educado demais para declínio. E talvez seja melhor receber algum feedback antes de lançar o plug-in, para impedir eu e seus usuários de possíveis idiotices.
Jan Fabry

1. Não funcionou para mim. Eu tive algumas centenas de downloads, mas nem um único voto no wordpress.org.
Raphael

@Raphael Votos no WordPress.org não são um feedback real, para começar. O fato de você não ter recebido reclamações ou recebido nenhum relatório de bug significa que provavelmente está funcionando e que seus usuários finais estão satisfeitos. Agora que ele está no repositório, é mais fácil para os desenvolvedores obter e visualizar a fonte. Nesse ponto, você deve passar para a etapa 2 e pedir a um desenvolvedor veterano que dê uma olhada e forneça algum feedback.
EAMann

1

Após uma rápida olhada em https://gist.github.com/675437 , vi alguns pontos menores, principalmente sobre legibilidade:

  • Escreva boa documentação de código: Docblocks ... e faça comentários embutidos sempre que algo não estiver absolutamente claro.
  • Divida as funções looong em funções separadas mais curtas. Eles são mais fáceis de ler e abordar nos comentários do revisor.
  • Alinhe seus operadores de atribuição, adicione espaços em branco entre parênteses.
  • Comprimento de linha de 80 caracteres, por favor! O Eclipse ainda não pode quebrar linhas longas. :(
  • Mantenha o seu código »left«, salve os recuos. Ao invés de:

.  

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

… Escreva …

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

Eu escrevi um novo plugin hoje à noite ... e fiquei pensando se posso fazer exatamente sua pergunta. Bom momento. :)


Obrigado por seus comentários iniciais. Talvez eu tenha chegado um pouco cedo demais, pois realmente preciso fazer uma edição completa para alinhar o código com os padrões de codificação, para que seja mais fácil focar no conteúdo. Bom ponto sobre a regra "sair mais cedo para salvar recuos", mas presumo que os 4 espaços extras em cada linha do seu segundo exemplo não sejam intencionais?
Jan Fabry

Uhm, sim, Markdown alterou a formatação após a lista. Eu resolvo isso.
fuxia

Obrigado por seus comentários, mas reli a discussão original na lista wp-hackers e decidi ampliar o escopo, removendo minha solicitação específica da pergunta. Isso significa que sua resposta não é mais tão adequada; talvez você queira excluí-la.
Jan Fabry

0

Isso me fez pensar no Appscan: http://www01.ibm.com/software/rational/products/appscan/source/ ; http://www-01.ibm.com/software/rational/products/appscan/source/features/ versão de avaliação light: http://www-01.ibm.com/software/awdtools/appscan/express/

Isso pode fazer php e pode-se colocar regras extras para verificar as coisas. Dessa forma, uma parte pode ser automatizada (como algumas práticas recomendadas, como na resposta da toscho), pode verificar segurança, padrões de codificação, otimizações etc.

Só estou dizendo: se uma ferramenta pode verificar 80%, as verificações de 20% das verificações manuais de um guru seriam menores. Também ajudaria a gerar relatórios de conformidade para o uso de um plug-in em uma grande empresa que exige esses tipos de coisas em torno de código adicional.

Automatizamos as coisas para outras pessoas, por que não para nós mesmos?

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.