Bonjour,
En me posant des questions sur la performances, je m'interrogeai sur l'avis d'autres personnes.
Ce principe veut qu'on sépare le teste de la faisabilité d'une action et de l'exécution de cet action. Exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if (obj.canDoSomething()) obj.DoIt();
Seulement parfois pour savoir si on peut faire quelque chose ou non, on doit le faire pour s'en rende compte. Imaginez une methode qui parcours plusieurs vecteurs, pour connaitre la faisabilité on devrait parcourir les vecteurs jusqu'a ce rendre compte qu'on ne peut pas.
Cela fait donc deux parcours très similaire, un pour "canDoSomething" et un deuxième pour "DoIt". J'ai donc un peu l'impression que dans ce cas "efficacité" s'oppose à "SRP".
D'après vous, est-il mieux de faire une methode "DoIfPossible()" qui retourne un boolen indiquant si l'action a été fait ou d'avoir deux méthode très similaire (duplication du code + perte de performance) ?
Merci
Partager