Projet

Général

Profil

DeveloppementBonnesPratiques » Historique » Version 4

Daniel Dehennin, 13/09/2016 11:56

1 1 Lionel Morin
h1. Bonnes Pratiques de Développement
2 2 Lionel Morin
3 4 Daniel Dehennin
h2. Style de code commun
4 4 Daniel Dehennin
5 4 Daniel Dehennin
* Éditor config (même configuration des éditeurs de code)
6 4 Daniel Dehennin
7 4 Daniel Dehennin
h2. Développement piloté par les tests
8 4 Daniel Dehennin
9 4 Daniel Dehennin
Le "Test driven development":https://fr.wikipedia.org/wiki/Test_Driven_Development préconise d’écrire les tests unitaires avant d’écrire le code source:
10 4 Daniel Dehennin
11 4 Daniel Dehennin
12 4 Daniel Dehennin
# Écrire un premier test ;
13 4 Daniel Dehennin
# Vérifier qu'il échoue (car le code qu'il teste n'existe pas), afin de vérifier que le test est valide ;
14 4 Daniel Dehennin
# Écrire juste le code suffisant pour passer le test ;
15 4 Daniel Dehennin
# Vérifier que le test passe ;
16 4 Daniel Dehennin
# Puis réusiner le code, c'est-à-dire l'améliorer tout en gardant les mêmes fonctionnalités.
17 4 Daniel Dehennin
18 4 Daniel Dehennin
19 4 Daniel Dehennin
h2. Documentation d’API automatique
20 4 Daniel Dehennin
21 1 Lionel Morin
* Génération de la documentation d'API depuis le code (docstring)
22 4 Daniel Dehennin
23 4 Daniel Dehennin
24 4 Daniel Dehennin
h2. Modèle de développement avec Git
25 4 Daniel Dehennin
26 4 Daniel Dehennin
Utiliser "Gitflow":http://nvie.com/posts/a-successful-git-branching-model/
27 4 Daniel Dehennin
28 2 Lionel Morin
* Git flow: intégration des fonctionnalités si
29 2 Lionel Morin
** les tests passent
30 1 Lionel Morin
** le code est relu (Gerrit)
31 4 Daniel Dehennin
32 4 Daniel Dehennin
h2. Qualité du code
33 4 Daniel Dehennin
34 2 Lionel Morin
* Qualité du code (PyLint / JSLint)
35 2 Lionel Morin
* Couverture des tests
36 1 Lionel Morin
* Couverture de la doc : vérifier que toute l'API est documentée
37 4 Daniel Dehennin
38 4 Daniel Dehennin
h2. Intégration continue
39 4 Daniel Dehennin
40 3 Daniel Dehennin
* Intégration continue : exécution automatique des tests (jenkins)
41 4 Daniel Dehennin
42 4 Daniel Dehennin
h2. Déploiement d'environnements de Dev (Vagrant?)