http://pastebin.com/d2294a374Est-ce que ce code Clojure est indenté correctement?
J'ai posté du code indenté de 2 façons différentes là-dedans. Je suis confus ici parce que je ne suis pas sûr que faire quand une fonction a plusieurs arguments. Est-ce que chaque argument devrait être sur une ligne différente ou la même chose? En outre, quand nous avons quelque chose comme (def xyz (fn abc [a1 a2] ... ne (fn abc ... allez dans une autre ligne?
Je lis ce qui suit de http://mumble.net/~campbell/scheme/style.txt, mais il n'a pas semblent avoir beaucoup de sens pour moi.
** Indentation et alignement
l'opérateur de toute forme, à savoir la première sous-formulaire suivant l'ouverture parenthèse, détermine les règles pour indenter ou aligner les formes restantes Beaucoup de noms dans cette position indiquent des règles spéciales d'alignement ou d'indentation; ce sont des opérateurs spéciaux, des macros ou des procédures qui ont certaines structures de paramètres.
Si le premier sous-formulaire est un nom non spécial, cependant, alors si le second est sous-formulaire sur la même ligne, aligner la colonne de départ de tous les sous-formulaires suivants avec celle du deuxième sous-formulaire. Si le second sous-formulaire est sur la ligne suivante, alignez sa colonne de départ avec celle du premier sous-formulaire et faites de même pour tous les sous-formulaires restants.
En général, Emacs indentera correctement le code Lisp. Exécutez `C-M-q ' (indent-sexp) sur n'importe quel code pour vous assurer qu'il est indenté correctement, et configurez Emacs de manière à ce que tous les formulaires non standard soient indentés de manière appropriée.
Inacceptable:
(+ (sqrt -1)
(* x y)
(+ p q))
(+
(sqrt -1)
(* x y)
(+ p q))
acceptable:
(+ (sqrt -1)
(* x y)
(+ p q))
(+
(sqrt -1)
(* x y)
(+ p q))
Justification: L'alignement de colonne permet au lecteur de suivre les opérandes de toute opération franchement, simplement en balayant vers le bas ou vers le haut pour correspondre à un colonne commune. L'indentation dicte la structure ; l'indentation confuse est une charge pour le lecteur qui souhaite de dériver la structure sans faire correspondre les parenthèses manuellement.
le Pastebin est mort. –