Embora o código exista para ser compilado ou executado por um computador, ele também existe para ser lido por humanos. Um computador não se importa com a aparência do código desde que a sintaxe seja válida. Entretanto, há muito que você pode fazer na formatação e estilo do código para torná-lo ainda mais legível por humanos.

Em sua maioria, são coisas simples, como consistência na indentação, espaçamento e comprimento da linha. Cada linguagem tem suas próprias convenções; cada projeto terá suas próprias especializações dessas convenções. O BeeWare não é exceção.

Alguém que esteja revisando um patch ainda precisa verificar se a lógica está correta, mas essas tarefas simples de verificação de estilo são fáceis de verificar programaticamente. Muitos editores de texto fazem (ou têm extensões que fazem) esse processo para você. você - a tarefa é chamada de linting. O Beefore é uma ferramenta que permite a você integrar essas verificações ao seu procedimento de pré-fusão do Github, da mesma da mesma forma que você pode integrar a integração contínua e a conformidade do conjunto de testes antes da mesclagem.

No entanto, isso não se limita apenas ao estilo de código. Qualquer verificação que possa ser objetivamente medida pode ser realizada como parte do procedimento de pré-fusão. Isso pode incluir:

  • Verificação de um Certificado de Origem do Desenvolvedor, Contrato de Licença do Contribuinte ou algum outro procedimento de licenciamento de contribuição.
  • Avaliação da complexidade do código
  • Avaliação da cobertura do código

e muitos outros.

O Beefore pega carona no processo de integração contínua que você já usa para executar seu conjunto de testes antes de mesclar os commits (por exemplo, Travis-CI). Os testes do Beefore são executados como uma execução de teste personalizada.

Como ajudar

  • Aprimoramento dos linters existentes
  • Integração de novos linters e verificações de estilo (por exemplo, Java)

Então, por que é chamado "Beefore"?

Ele verifica todas as coisas que você precisa ter certo antes de mesclar um patch.