Modularité

Découper un programme : une fonction par tâche, factoriser le code répété, regrouper les fonctions en modules, importer, et séparer le programme principal de ce qui peut se réutiliser.

  • 25 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre

Quelques cartes du deck

  • Modularité : de quoi s'agit-il ?

    Voir la réponse

    Manière de construire un programme en morceaux séparés, chacun avec un rôle précis, qu'on peut écrire, tester et changer l'un sans l'autre.

    Un défaut se cherche dans un seul morceau, une amélioration ne touche que lui, et un morceau déjà écrit se réutilise dans un autre programme.

  • Qu'affiche python3 main.py ?

    ```python
    # outils.py
    print("chargement")

    def double(n):
    return 2 * n

    if __name__ == "__main__":
    print("test", double(4))

    # main.py
    import outils
    print(outils.double(5))
    `

    • chargement, puis 10
    • 10 seul
    • chargement, test 8, puis 10
    • test 8, puis 10
    Voir la réponse

    chargement, puis 10

    Importer exécute le fichier : le print du niveau du fichier s'affiche. Mais __name__ vaut alors "outils" et non "__main__", donc le bloc de test est sauté.

  • Du code qui se répète se remplace par une … : si on corrige un défaut, on ne le corrige qu'….

    Voir la réponse

    Du code qui se répète se remplace par une fonction : si on corrige un défaut, on ne le corrige qu'une fois.

    Les trois copies d'une remise de 10 % deviennent un seul appliquer_remise(prix), et changer le taux se fait à un seul endroit.

  • Module : de quoi s'agit-il ?

    Voir la réponse

    Fichier qui regroupe des fonctions et des valeurs liées entre elles, et qu'un autre fichier peut utiliser en l'important.

    En Python, tout fichier .py est un module : outils.py s'importe sous le nom outils. Regrouper aire et perimetre dans geometrie.py dit où les chercher.

  • Laquelle de ces fonctions respecte le mieux la responsabilité unique ?

    • calculer_moyenne(notes)
    • lire_et_afficher_moyenne()
    • traiter_notes_et_ecrire_fichier(notes)
    • programme_complet()
    Voir la réponse

    calculer_moyenne(notes)

    calculer_moyenne a une tâche et se teste sans clavier ni fichier. Les trois autres mélangent lecture, calcul, affichage ou écriture : changer l'une de ces tâches oblige à rouvrir les autres.