Et sinon, en ce qui concerne le fait de ne pas parler à tes élèves des variables d'instances des controllers, ça peut avoir des effets désastreux : imagine ce qui se passerait si, se présentant comme débutant rails en recherche d'un premier emploi, on leur faisait un test de connaissance à l'entretien et qu'on s'apercevait qu'ils ne connaissent pas ce principe de base :)
Le top seraient qu'ils puissent dire "on utilise génèralement des variables d'instances, mais avec decent_exposure ...". On 13:42 Wed 05 Jun , Thibaut Barrère wrote: > Hello, > > comme Jean-Baptiste, je trouve que coller aux conventions qu'on trouve dans > les docs standard et les tutoriels sur Rails (donc utiliser des variables > d'instance) présente des avantages aussi, en terme de clarté, notamment > pour des débutants. > > Le pattern est simple, connu et bien documenté, il suffit de dire qu'il ne > faut pas en abuser, ne pas dépasser 2 à 3 variables probablement au pire. > > Si je dois me faire l'avocat du diable, on peut même indiquer qu'il n'y a > pas vraiment de magie, et qu'il s'agit simplement d'un pattern de type > "passage de message" entre le contrôleur et la vue. > > Cela dit quand je vois qu'un bout de code est fragile de ce fait je vais > créer un helper pour lever une erreur, toutefois ça n'est pas systématique. > > On peut aussi adopter le point de vue suivant: comme pour Shoulda qui voit > le matcher "assign_to" > supprimé<https://github.com/thoughtbot/shoulda-matchers/issues/252> et > qui prône d'utiliser des tests d'intégration pour vérifier ce qui se passe > pour l'utilisateur directement, et de considérer que les @variables sont > des mécanismes internes qui ne doivent pas être testés. > > Voilà - en résumé, en règle générale j'en utilise au plus quelques unes, > voir quelques helpers si code fragile. > > Thibaut > -- > http://www.logeek.fr > > > 2013/6/5 Jean-Baptiste Barth <[email protected]> > > > Hello, > > > > Je suis plutôt contre l'avis général si tu touches un public de purs > > débutants, qui ne bosseront pas que sur des applis qui suivent cette > > pratique. > > > > Le côté magique ça déplait aux experts qui ont vu ses limites et travers, > > mais ça plait au débutant qui gagne en productivité et peut se concentrer > > sur autre chose. Si tu traites le débutant comme un expert, tu lui demandes > > un acte de foi qui marche pas forcément super bien à long terme (c'est un > > des pbs avec J2EE en entreprise par exemple..). Ou alors il faut que la > > best practice soit naturelle, hyper répandue ou cachée par le framework, et > > là ce n'est pas le cas. > > > > En plus là on parle d'un concept simple, l'association est plutôt facile à > > faire je trouve. Il y a déjà assez de boulot à expliquer > > rake/ruby/rails/bundler+l'orienté > > objet+MVC+routes+environnements+initializers... > > > > Jean-Baptiste > > > > -- > > -- > > 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] > > --- > > Vous recevez ce message, car vous êtes abonné au groupe Google > > Groupes Railsfrance. > > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le > > concernant, envoyez un e-mail à l'adresse > > [email protected]. > > Pour plus d'options, visitez le site > > https://groups.google.com/groups/opt_out . > > > > > > > > -- > -- > 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] > --- > Vous recevez ce message, car vous êtes abonné au groupe Google Groupes > Railsfrance. > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le > concernant, envoyez un e-mail à l'adresse > [email protected]. > Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out > . > > -- Olivier El Mekki. -- -- 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] --- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance. Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse [email protected]. Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .
