Salut à tous, je me pose une question depuis quelques jours. Je travaille sur un petit projet perso en Python, et j’ai implémenté deux versions d’une même fonction pour gérer un cache simple. La première utilise un décorateur maison, l’autre une classe avec un dictionnaire. En termes de lignes de code, c’est kif-kif, et les deux semblent marcher. Mais je n’arrive pas à trancher sur laquelle est vraiment plus maintenable à long terme, ou si c’est juste une préférence de style. Des fois, on a l’impression de sur-architecturer un truc simple, vous ne trouvez pas ?
|
Comment choisir entre décorateur et classe pour un cache en Python?
|
|
Pour le cache tu as deux options qui se valent en ligne de code mais pas en maintenance Le decorateur peut cacher la logique sans rendre explicite l interface et du coup les tests deviennent plus fragiles La version classe avec un dict expose clairement le comportement et se teste pas mal plus facilement En pratique je privilégierais la version claire et facile à étendre
J avoue que ce cache me rassure quand c est simple mais cette tension entre deux approches révèle une question plus vaste Le decorateur peut donner l impression d etre magique mais la réalité c est que le comportement peut devenir fragile à suivre dans la durée et la maintenabilité peut souffrir
Je suis d accord sur le fait que la structure change le cerveau Le cache peut enfermer la logique et augmenter le couplage sans gain réel
Et si le vrai sujet n est pas le decorateur ou la classe mais la façon dont on expose l interface Une abstraction claire peut rendre les deux implémentations interchangeables et plus facile à tester La question est peut être de savoir ce que l equipe priorise en premier lieu en termes de maintenance et de coût ?
On dirait qu on attend du lecteur une solution qui se mue en modele mental il y a une tension entre le style rapide et le soin apporté au code Le cache devient un symbole de ce que chacun pense etre une bonne pratique Certains vont toucher au code comme on ajuste une intrigue et d autres préfèrent une approche cartésienne où l objet commun joue le role du bref narrateur sans esquive
|
|
« Sujet précédent | Sujet suivant »
|

