Bien que le code existe pour être compilé ou exécuté par un ordinateur, il est également là pour être lu par des humains. pour être lu par des humains. Un ordinateur ne se soucie pas de l'aspect du code tant qu'il s'agit d'une syntaxe valide. Cependant, il y a beaucoup de choses que l'on peut faire en matière de dans le formatage et le style du code pour le rendre encore plus lisible par l'homme. par les humains.

Il s'agit principalement de choses simples, comme la cohérence de l'indentation, de l'espacement et de la longueur des lignes, l'espacement et la longueur des lignes. Chaque langue a ses propres conventions ; chaque projet aura ses propres spécialisations de ces conventions. projet aura ses propres spécialisations de ces conventions. BeeWare ne fait pas exception.

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.

Cela ne se limite pas au style de code. Toute vérification qui peut être objectivement mesurée peut être effectuée dans le cadre de la procédure de procédure de pré-fusion. Il peut s'agir de

  • Vérification de l'existence d'un certificat d'origine du développeur, d'un accord de licence du contributeur ou d'une autre procédure de licence de contribution. ou toute autre procédure de licence de contribution.
  • Évaluation de la complexité du code
  • Évaluation de la couverture du code

et bien d'autres.

Beefore s'appuie sur le processus d'intégration continue que vous utilisez déjà pour exécuter votre suite de tests avant de fusionner les commits (par exemple, Travis-CI), Travis-CI). Les tests Beefore sont exécutés comme des tests personnalisés.

Comment aider

  • Améliorer les linters existants
  • Intégrer de nouveaux linters et contrôles de style (par exemple, Java)

Pourquoi est-ce nommé "Beefore"?

Il vérifie toutes les choses qui doivent être correctes avant de fusionner un patch.