Réponse inline: Le 15 juin 2012 15:43, Guirec Corbel <[email protected]> a écrit :
> Bonjour, > > Régulièrement, je me trouve confronté avec des problèmes de taille de > lignes. Selon certains conventions, une ligne ne devrait pas faire plus de > 80 caractères, comme indiqué ici : > http://www.caliban.org/ruby/rubyguide.shtml#linelen . J’essaie donc de > respecter cette convention sans être toujours très regardant. Pour être > honnête, cette règle me fait ch... et j'ai toujours de la difficulté à m'y > tenir. De plus, ça me donne parfois des trucs que je ne trouve pas beau. > J’essaie de suivre des conventions mais je n'en ai pas trouvé sur internet. > > Exemple : > > describe :note_for do > it 'give notes for the project' do > CategoryProject.create(project: project, > category: category, > description: 'test') > Note.create(project: project, category: category, value: 8) > Note.create(project: project, category: category, value: 3) > Note.create(project: project, category: category, value: 3) > project.note_for(category).should == 4.7 > end > end > > Je trouve pas ça super gracieux. En plus de ça, j'ai vu que rails ne se > limite pas à 80 caractères mais plutôt à 120? Exemple : > https://github.com/rails/rails/blob/master/actionmailer/lib/action_mailer/base.rb > . > > Vu qu'il y a des variables locales en Ruby, pourquoi ne pas les utiliser? params = {blablabla} Note.create params qui rend facile le refactoring en def note(params) Note.create params end Ce qui n'a pas forcément du sens dans du code, mais peut aérer une série de tests ou déboucher sur un module DSL pour une librairie. Enfin le multiline a aussi des avantages, comme de pouvoir commenter une ligne pour désactiver quelquechose. params = { foo:'bar', #baz:123 } A utiliser avec parcimonie car ça rajoute plein de scrolling vertical et ça encourage à laisser traîner des '#' de commentaires dont on oublie l'utilité. De même j'utilise des lignes longues, pour des messages d'erreurs/de log inline. Genre raise ArgumentError, "une explication trop longue à tenir sur 80chars". Le backslash en fin de ligne peut aider pour ce cas mais je ne trouve pas ça esthétique. > Bref, voici donc ma question : Qu'utilisez vous comme normes? > > Celle du projet que je touche. Ou bien le bon sens. Quand j'ai beaucoup de paramètres parfois je fais une classe dont la responsabilité est de paramétrer les autres objets :o, ça me donne l'impression de maîtriser le JavaSyndromeFactoryBuilder. --Lucas > > Merci encore pour tout vos bons conseils! > > -- > 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 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]
