Peut être suis-je perfectionniste, mais la question étant "Bonne pratique POO", la réponse est celle détaillée ci-dessus, même si elle semble overkill, et pour les raisons expliquées.
La question serait "Où placer les fonctions communes dans un projet PHP ?", effectivement on pourrait citer YAGNI et favoriser les statiques... Par contre il faut être assez sûr de son coup si on ne veut pas refacto le tout pas longtemps après.
Dans ton dernier exemple alassanediakite, tu dis "rien n’empêche d'enrichir l'ancienne", je suis d'accord dans une certaine mesure, mais il est plus que possible qu'un jour tu aies besoin d'une variante pour une des classes appelantes... en quel cas (et ça je l'ai vu des milliers de fois), tu ajouteras un boolean en paramètre de la méthode, etc.
Juste pour info, un paramètre boolean est aussi un code smell.
C'est toujours la même chose en fait, pseudo pragmatisme vs clean code (le clean code venant de l'experience de gens ayant fait les erreurs avant). Si je suis aussi exigeant sur la théorie, c'est parce que mon métier est de refactorer ces applications catastrophiques... Pensez vous que mes clients se sont dit au départ "ça va être la merde à long terme" ? Non, ils se sont dit "on a pas le temps pour ces conneries théoriques, on est pragmatique ici" et ont généralement une à deux personnes full time sur la résolution de bugs...
Partager