Menu

Guide Maintenance

maintenance (1)
Lucas JEANPIERRE

Maintainers

Ce fichier est destiné aux mainteneurs du projet.

Prérequis

Des dépendances de développement sont nécéssaire pour participer au projet.
Vous pouvez les installer avec :

npm install --target=dev

Structure du projet

Ce projet est structuré selon une certaine architecture qui sépare source et
documentation tel que :

  • doc : documentation
  • src : code source
  • __tests__ : tests unitaires
  • model : structures de données
  • parser : outils pour parser les données en entrée
  • spec : fonctionnalité élémentaires
  • UIConsult.js : fichier principal du projet
  • var : données utiles pour le programme et données en sortie
  • LICENCE : Licence
  • README.md : Presentation du projet

Documentation du projet

Chaque fonction / classe / methode doit être documentée afin que tout le monde
puisse participer au projet. On utilise pour cela la JsDoc.

Ajout et modifications de fonctionnalités

Chaque spécifications du programme ont été codés dans le répertoire src/spec
et dans le fichier src/UIConsult.js.

Le fichiers contenus dans src/spec sont purement la fonctionnalité sans entrées
utilisateur ni sortie, mais seulement une valeur de retour qui est le résultat.

Ce résultat sera traité et affiché dans la commande correspondant définie dans le
fichier src/UIConsult.js : on y traite les entrées et les sorties du programme
dans la console.

Tests unitaires

Les tests unitaires sont rédigés avec la librairie Jest
et sont situés dans le dossier src/__tests__/.

Chaque fichier de test doit contenir au minimum une suite de test, et chaque suite de test doit
aussi contenir au minimum 2 tests.

Prérequis pour lancer les tests

Il faut installer les librairies de développement (cf. Maintainers#Prérequis).

Lancement des tests unitaires

Pour lancer les tests, il y a deux possibilités :

npm test
# Ou
npx jest

Tickets

Chaque tickets pour les issues doivent contenir :

  • Un titre explicite
  • Une description succinte et complète.
  • Un manuel pour reproduire le bug
  • Le résultat obtenu et le résultat attendu
  • Les informations de l'environnement d'execution
  • Des fichiers de données en exemple si possible

Chaque tickets pour les enchancements doivent contenir :

  • Un titre clair et explicite
  • Une description succinte et complète de la fonctionnalité
  • Donner plusieurs exemples de résultats avec des exemples de données en entrée
  • Les informations de l'environnement d'execution de la future fonctionnalité
  • Des fichiers de données en exemple si possible

Related

Wiki: Home