Partage
  • Partager sur Facebook
  • Partager sur Twitter

Constructeur : combien d'arguments ?

    31 octobre 2023 à 15:26:23

    Salut tout le monde !

    Je me demandais si, en programmation, il y avait des règles sur le nombre de paramètres que devait avoir un constructeur.

    Actuellement, je code en Python un constructeur et j'ai en entrée une structure.

    Mon problème est simple mais je ne vois pas quelle est la meilleure solution entre :

    1) passer ma grosse structure directement en argument de mon constructeur puis récupérer les données qui m'intéressent à l'intérieur du constructeur pour construire mon instance de classe (la grosse structure contient plus d'information que j'en ai besoin pour le constructeur)

    ou

    2) décortiquer ma structure en amont et passer uniquement les données qui m'intéressent dans le constructeur pour simplifier le code du constructeur.

    Avantages du constructeur avec peu d'arguments :

    • Rapide à utiliser
    • Générique
    • Évite la duplication de code

    Avantages du constructeur avec beaucoup d'arguments :

    • Meilleure encapsulation
    • Plus clair à utiliser car on voit en un coup d'oeil les données nécessaires à ma classe

    Intuitivement je suis parti sur le constructeur avec plus d'arguments mais je ne suis pas complètement sûr de ma stratégie.

    -
    Edité par ThomasAirain 31 octobre 2023 à 15:42:36

    • Partager sur Facebook
    • Partager sur Twitter
      31 octobre 2023 à 19:54:00

      pas forcément de bonne ou mauvaise façon, si ta classe travaille sur une structure ou est lié à une structure dans ses méthodes, alors il me semble plus logique de passer la structure.

      Si ta classe peut être utilisé sans rapport avec la structure, passer par les arguments sera sans doute à privilégier.

      A voir si à l'utilisation, tu préfères décortiquer ta structure avant ou pas.

      • Partager sur Facebook
      • Partager sur Twitter
        1 novembre 2023 à 21:55:14

        Merci du conseil ! Finalement je me suis tenu à la convention que j'utilise d'habitude c'est-à-dire passer le minimum d'information en argument et ça marche pas si mal. Du coup dans certains cas j'ai passé la structure en entier car j'avais besoin de la structure en entier dans la fonction et dans les cas où ce n'était pas nécessaire j'ai passé des arguments de manière individuelle.
        • Partager sur Facebook
        • Partager sur Twitter

        Constructeur : combien d'arguments ?

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown