10-06-2010, 09:17 PM
(10-06-2010, 09:01 PM)oxman a écrit : Même si ton code est intéressant Sephi, je ne le recommanderais pas.
Coder proprement, efficacement dès le début oui.
Mais commencer à mettre plein du cache partout (générateur de bien plus de bug, car tu ajoutes de la complexité) alors que ça n'est pas forcément utile non. Avoir un code souple et élégant qui sera extensible et le permettra si le besoin s'en fait ressentir oui.
Qu'est-ce que tu recommandes ? Le retrait pur et simple des deux blocs de cache ?
Je suis assez surpris par ta remarque car je pense sincèrement qu'on ne peut pas faire plus simple dans la mise en place d'un cache (dans le cas contraire, je veux voir un exemple ^^). D'autant que la syntaxe des blocks de Ruby rend ça encore plus évident.
Peux-tu préciser la complexité que ça ajoute ? Car à mon sens c'est trivial dans le concept comme dans l'application : les clés utilisés pour les caches sont basiques et ne dépendent que d'un paramètre au maximum (aucun dans le cas de la carte globale). On ordonne l'expiration des caches ensuite (d'ailleurs, ça aurait dû se faire grâce aux Sweepers de Rails, mais j'ai rencontré un bug avec la bêta de Rails 3, je garde cette partie au chaud en attendant le fix).
Quels bugs potentiels imagines-tu ?
Enfin voilà, si tu pouvais détailler/préciser tes inquiétudes quant à la limpidité du code, je t'en serais reconnaissant (pour éventuellement modifier le pas à pas, si c'est justifié).
Sephi-Chan