Bonjour, En regardant le dernier screencast de Ryan Bates [1], je tombe logiquement sur le site http://rails-bestpractices.com/ En farfouillant un peu, je retrouve un conseil que j'avais déjà vu passer mais que je n'avais pas compris : "The Law of Demeter" [2][3], traduisible en français par la "loi de moindre connaissance" (???), où une règle voudrait qu'un modèle doit se limiter à communiquer avec un modèle immédiatement associé, et non pas faire des "bonds" de modèle à modèle.
En gros, on interdit "post.author.name", et on préfère écrire un wrapper (Rails nous facilite encore cette tâche avec les delegate) et donc taper post.author_name. Je pense que techniquement mon explication est bonne, mais cela dit, j'ai toujours du mal à voir l'avantage. Je suppose que l'idée de base est de dire que si le modèle author change, il ne faut pas que ça impacte le modèle "post" (maintenabilité). Mais je ne vois pas en quoi ça change quoi que ce soit, tant que name est une méthode ou un attribut du modèle author, la première écriture reste bonne ! Si cela change, la première ne marche plus, mais la 2nde non plus ! Bref, quelqu'un pourrait m'expliquer l'interêt de cette règle ? Merci d'avance (-: gUI [1] http://railscasts.com/episodes/252-metrics-metrics-metrics [2] http://rails-bestpractices.com/posts/15-the-law-of-demeter [3]http://en.wikipedia.org/wiki/Law_of_Demeter -- Pour la santé de votre ordinateur, préférez les logiciels libres. Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/ Browser le web : http://www.mozilla-europe.org/fr/products/firefox/ Suite bureautique : http://fr.openoffice.org/ -- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected]
