Pire, que faire quand ils ne sont même pas intéressés par la notion de code clean ?
C'est pour ça que j'ai parlé de la dette téchnique, car il y a le ROI derrière.
Pareil pour le fait de favoriser le polymorphisme à la place d'if/else ou switch/case. Ça se discute. Des fois c'est plus clair d'avoir tous les cas à plat dans un switch plutôt que d'avoir plein de classes qui éparpillent la logique.
Cette partie-là m'a fait beaucoup réfléchir. Surtout que je viens de l'Ocaml ou l'on passe sont temps à faire des gros pattern matching sur des arbres, soit en fait, des gros switchs.
Un code fonctionnel permet de rajouter facilement un traitement sur des données qui ne bougent pas (exemple un compilo en OCaml, la langage change peu). Un code objet permet facilement d'ajouter un objet dans des données pour des traitements qui ne bougent pas (exemple : un code business en Java qui s'étend mais dont les nouveaux traitement touchent peu les anciens objets).
Je suis en train de faire un code suivant ce principe (remplacer les switch par du polymorphisme), cela permet d'avoir plein de petits objets. Par contre, j'ai toujours un gros switch moche dans une factory.
[^] # Re: Tu n'es en rien en voie d'extinction
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Je fais partie d'une espèce menacée d'extinction. Évalué à 3. Dernière modification le 22 juillet 2020 à 10:33.
C'est pour ça que j'ai parlé de la dette téchnique, car il y a le ROI derrière.
Cette partie-là m'a fait beaucoup réfléchir. Surtout que je viens de l'Ocaml ou l'on passe sont temps à faire des gros pattern matching sur des arbres, soit en fait, des gros switchs.
Cela colle parfaitement avec sa définition du ouvert/fermé de SOLID.
( https://en.wikipedia.org/wiki/Open%E2%80%93closed_principle )
Un code fonctionnel permet de rajouter facilement un traitement sur des données qui ne bougent pas (exemple un compilo en OCaml, la langage change peu). Un code objet permet facilement d'ajouter un objet dans des données pour des traitements qui ne bougent pas (exemple : un code business en Java qui s'étend mais dont les nouveaux traitement touchent peu les anciens objets).
Je suis en train de faire un code suivant ce principe (remplacer les switch par du polymorphisme), cela permet d'avoir plein de petits objets. Par contre, j'ai toujours un gros switch moche dans une factory.
"La première sécurité est la liberté"