Salut,
J'ai une question, ou plutôt j'ai un avis mais j'aimerais le conforter par d'autres avis, car j'ai vu ça nulle part.
Ca serait pour un projet PHP, mais ça s'applique en fait à tous les langages objet.
De part mon expérience, je suis au courant des problématiques liées aux variables globales : il y a des cas où l'application ou des morceaux de l'application ne sont pas utilisés dans le contexte d'un processus complet mais intégrés à une autre application. Si cette application mère a besoin d'instancier 2 fois notre application (ne serait-ce qu'utiliser une instance après l'autre, pas forcément les 2 en concurrence), il ne faudrait pas que le comportement puisse être différent.
Il est possible de considérer les "variables de classes" comme des globales, donc mon idée c'est de ne plus jamais faire de "variables de classes" et par extension ne plus faire de "méthode de classe". Plus de "méthode de classe" car elles peuvent avoir besoin de stocker quelquechose dans une "variable de classe" (même si c'est pas le cas dans la première version de la méthode).
Il est possible de réaliser l'équivalent en utilisant des méthodes d'instance sur des objets réels.
Si on reprend l'exemple de la classe Math qu'on trouve un peu partout, au lieu d'avoir des méthodes de classe, on devrait instancier un objet Math et appeler les méthodes d'instance comme floor(), cos(), etc..
Qu'en pensez vous? Est ce trop extrémiste de dire "plus jamais de..." ?
Merci
Partager