Documentation et tests en pratique

Principes d’ingénierie logicielle en Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Documenter les projets avec Sphinx

  Exemple de page Sphinx

Principes d’ingénierie logicielle en Python

Documenter les classes

class Document:
    """Analyser des données textuelles

    :param text: texte à analyser

    :ivar text: texte initialement passé à l'instance lors de la création
    :ivar tokens: Liste de mots analysés à partir du texte
    :ivar word_counts: Compteur contenant le nombre de hashtags utilisés dans le texte
    """
    def __init__(self, text):
        ...
Principes d’ingénierie logicielle en Python

Tests d'intégration continue

    Logo Travis CI

Exemple de sortie Travis - Échec

Principes d’ingénierie logicielle en Python

Tests d'intégration continue

  Exemple de sortie Travis - Réussite

Principes d’ingénierie logicielle en Python

Liens et outils supplémentaires

  • Sphinx - Générer une documentation élégante
  • Travis CI - Tester votre code en continu
  • GitHub & GitLab - Héberger vos projets avec git
  • Codecov - Identifier les améliorations possibles pour vos tests
  • Code Climate - Analyser votre code pour améliorer sa lisibilité
Principes d’ingénierie logicielle en Python

Passons à la pratique !

Principes d’ingénierie logicielle en Python

Preparing Video For Download...