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.
Someone reviewing a patch still needs to check for correct logic, but these simple style-check tasks are easy to check programatically. Many text editors will (or have extensions that will) do this process for you - the task is called linting. Beefore is a tool that allows you to integrate these checks into your GitHub pre-merge procedure, in the same way that can integrate continuous integration and test suite compliance before merging.
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.