J'ai lu quelques suggestions de code propre qui disent: les méthodes ne devraient pas avoir plus de deux paramètres, et je me demandais quel est le problème avec cela? Si nous avons une classe, et si cette classe a beaucoup de méthodes qui en ont besoin de plus de deux Si nous définissons ces paramètres comme privés dans cette classe, et que les méthodes partagent ces variables au lieu de les envoyer par paramètres, cette classe ne serait pas trop sale ???
3 Réponses :
Cela dépend, si vous utilisiez des modèles de conception (mais pas vraiment), votre logique de code vous permettrait de recevoir quelque chose comme (données de tableau, un objet, un indicateur (facultatif)) comme paramètres maximum requis.
Il s'agit de prendre du code volumineux et de le rendre aussi petit et réutilisable que possible. Plus ou moins, vous avez des données / objets que vous traitez et faites des choses.
Ceci n'est que mon opinion en ce qui concerne la déclaration suggérée. Bien sûr, il y a des moments où cela ne s'applique pas, mais vous pouvez essayer de créer des morceaux de code comme des blocs Lego qui peuvent construire quelque chose.
Vous pouvez utiliser ce que vous voulez.
Juste pour la lisibilité du code, il est censé être le moins de paramètres possible dans les méthodes et il n'y a aucune restriction sur le nombre de paramètres, vous pourriez avoir 4 ou 6 paramètres et ce serait raisonnable dans certains cas. Si vous n'aimez pas beaucoup de variables de classe privées, vous êtes libre de transmettre ces variables en tant que paramètres à votre méthode, parlez simplement aux personnes avec lesquelles vous travaillez et choisissez votre style ensemble.
C'est un art de décider quelle décision serait la meilleure pour la poursuite du programme.
Je pense que cette recommandation est une bonne règle de base, mais je ne la traiterais pas comme une règle absolue. Dans certains cas, il doit simplement y avoir plus de trois paramètres.
Les raisons d'éviter de nombreux paramètres sont que les méthodes avec moins de paramètres sont en général plus faciles à lire, à comprendre et à utiliser. Cela peut également indiquer qu'une méthode fait beaucoup de travail. Les méthodes et les classes sont plus faciles à comprendre et à utiliser si elles ont un seul objectif clair et ne font pas beaucoup de choses différentes en une seule fois.
Si une méthode a beaucoup de paramètres, il y a quelques options à considérer:
Cela dit, le nombre de paramètres n'est qu'une partie de ce qui fait qu'une méthode est bien conçue. Si aucune des options ne rend votre code plus facile à utiliser et à comprendre, laissez-le faire.
Vous pouvez avoir un seul paramètre qui est une classe / structure ayant de nombreuses propriétés au lieu de beaucoup de paramètres
Je ne parle pas seulement de ces méthodes publiques, si nous avons des méthodes tellement privées, voulez-vous créer une classe pour chaque paramètre de méthode?
C'est juste une ligne directrice pour aider à écrire du code lisible.
@Mohammadniazmand Je n'ai pas peur de "faire des cours" - c'est une partie de mon travail quotidien - il est très difficile de juger laquelle de vos méthodes privées devrait être refactorisée et de quelle manière sans les connaître et tout le contexte