1.3 Convention de nommage & Git flow - dosseggegw1/AMT_projet GitHub Wiki

Github & Git-flow

Issues

Les issues seront nommées de la sorte:

  • [action] + [sujet]

Branches (basé sur Gitflow)

Source : https://www.atlassian.com/fr/git/tutorials/comparing-workflows/gitflow-workflow

La branche main est uniquement utilisée pour les releases officielles de l'application alors que la branche develop sert de branche d'intégration des features.

Chaque feature_XX possède sa propre branche. Lorsqu'elle est terminée, elle est merge avec la branche develop.

Les branches utilisées pour le développement de l'application seront nommées de la sorte:

  • feature_[nom de la feature]

En cas de nom de branche avec plusieurs mots, nous utiliserons la notation camel case après le underscore initial suivant feature:

  • feature_helloWorld

Release

Les branches utilisées pour les releases seront basées sur la branche develop et porteront les noms :

  • release_[x.x.x]

Une fois la release créée, elle est mergée sur la branche main.

Commit

Les commits seront nommés de la sorte:

  • brève description du commit

PR

Lors de la demande de PR, l'utilisateur doit préciser dans son message:

  • Closes #[numéro de l'issue]

Convention de nommage - code

L'ensemble des éléments présents dans le code doivent être écrit en anglais.

Variables

Le nom des variables est en camelcase et doit être explicite.

  • userName
  • userPassword

Fonctions

Le nom des fonctions est en camelcase et doit être explicite en indiquant son rôle.

  • getUserName()
  • sendQuery()

Commentaires

Chaque fonction doit être commentée en anglais pour que son rôle et son usage soient clairs :

/**
* <description de la fonction>
*
* @param ...
* @return ...
*/

Des commentaires en anglais peuvent être ajoutés dans les fonctions pour préciser certaines actions :

// <commentaire d'une ligne clarifiant le code>

Tests unitaires

Le nom des tests doit avoir le format : TypeObjet_NomTest_ResultatAttendu()

Le contenu des tests doit avoir le format :

// given : l'objet à tester (initialisation du contexte de test)
// when : l'action à tester (méthode appelée du modèle)
// then : résultat attendu (assertion)