Revisando PLIP’s

Expectativas

Uma boa revisão de PLIP leva aproximadamente 4 horas, então se programe corretamente. Quando terminar, se tiver acesso ao núcleo, comite a revisão no diretório de PLIP’s e referencie a PLIP na mensagem do seu commit. Se não tiver acesso, anexe sua revisão ao ticket aberto da PLIP.

Configurando o ambiente

Siga as instruções em [wiki:DevelopmentEnvironment setting up a development environment], “Obtendo o Código”. Você deverá fazer o checkout do branch ao qual a PLIP está vinculada. Ao invés de rodar o buildout usando o arquivo de buildout padrão, você deverá rodar a configuração específica para a PLIP:

> ./bin/buildout -c plips/plipXXXX.cfg

Revisão de funcionalidade

Existem várias coisas que podem ser abordadas em uma revisão de PLIP, dependendo da sua natureza. A lista abaixo não é, absolutamente, uma lista completa, mas um ponto de partida sobre o que pode ser observado em uma revisão:

Geral

  • A PLIP realmente faz o que os implementadores propuseram? Existem variações incompletas?
  • Ocorreram erros durante a execução do buildout? As migrações funcionaram?
  • Os erros e mensagens de status fazem sentido? Estão internacionalizados corretamente?
  • Existem considerações sobre a performance? O implementador as observou?

Erros

  • Existem erros? Nada é muito grande ou muito pequeno.
  • Os campos manipulam dados estranhos? E situações como strings em campos de data ou campos obrigatórios deixados em branco?
  • A validação não está pouco exigente nem exigente demais?

Qestões de usabilidade

  • A implementação está usável?
  • Como usuários finais iniciantes reagirão à mudança?
  • A PLIP necessita de uma revisão de usabilidade? Se você considerar que sim, altere o estado para “please review” e adicione uma nota nos comentários.
  • A PLIP está consistente com o resto do Plone? Por exemplo, se existe uma configuração no painel de controle, o novo formulário se adequa aos outros painéis?
  • Tudo está fluindo bem para usuários iniciantes e avançados? Existem fluxos que parecem estranhos?
  • Existem permissões novas e elas funcionam apropriadamente? A atribuição de papéis (roles) faz sentido?

Questões de documentação

  • A documentação correspondente é suficiente para usuários finais, seja ele desenvolvedor ou usuário Plone?
  • A mudança está bem documentada?

Reporte erros/solicitações no Trac, como faria com qualquer outro erro do Plone. Referencie a PLIP no erro, atribua a seu desenvolvedor e adicione uma tag para a PLIP como plip-xxx, pois fica mais fácil do desenvolvedor encontrar, se precisar. Também coloque prioridade no ticket. A PLIP não será mesclada até que os erros sejam corrigidos.

Revisão de Código

Python

  • O código é possível de manter?
  • O código está documentado corretamente?
  • O código segue os padrões da PEP8? Quanto?
  • Está importando módulos obsoletos?

Javascript

ME/TAL

  • A PLIP usa views apropriadas e evita implementar muita lógica?
  • Existe algum loop no código que pode ter, potencialmente, problema de desempenho?
  • Existem linhas de código obsoletas ou no estilo antigo, como DateTime?
  • O HTML renderizado é compatível com as normas? Os ids e classes são usadas apropriadamente?