Quelle est la différence entre ;
et ;;
lors du démarrage d'un commentaire dans Clojure? Je vois que mon éditeur de texte les colore différemment, donc je suppose qu'il y a théoriquement une différence.
Je vois aussi que Marginalia les traite différemment:
; Stripped entirely
;; Appears in text section of marginalia
(defn foobar []
; Appears in code section of marginalia output
;; Again, appears in code section of marginalia output
6)
Il n'y a pas de différence en ce qui concerne l'interprète. Penser à ; ;; ;;; et ;;;; en tant que niveaux de titre différents.
Voici ma convention d'utilisation personnelle:
;;;; Commentaires de haut de fichier, tels qu'une description de l'ensemble du fichier/module/espace de noms
;;; Documentation des principales sections de code (c'est-à-dire des groupes de fonctions) dans le fichier.
;; Documentation pour les fonctions uniques qui s'étend au-delà de la chaîne doc (par exemple, une explication de l'algorithme dans la fonction)
; Commentaires en ligne éventuellement sur une seule ligne, et éventuellement sur une ligne de code
Découvrez le description officielle de la signification de ;
contre ;;
in elisp: puisque le pénétrateur Clojure est fondamentalement le même, il les traitera de la même manière. En gros, utilisez ;
si vous écrivez une longue phrase/description "dans les marges" qui s'étendra sur plusieurs lignes mais devrait être considérée comme une seule entité. Leur exemple est:
(setq base-version-list ; there was a base
(assoc (substring fn 0 start-vn) ; version to which
file-version-assoc-list)) ; this looks like
; a Subversion
Le pénétrateur s'assurera que ceux-ci restent alignés les uns à côté des autres. Si, à la place, vous souhaitez faire plusieurs commentaires sur une seule ligne sans lien les uns à côté des autres, utilisez ;;
.
(let [x 99 ;; as per ticket #425
y "test"] ;; remember to test this
(str x y)) ;; TODO actually write this function
Emacs; à utiliser pour les commentaires de fin de ligne et se mettra en retrait de manière surprenante si ce n'est pas votre intention. ;; ne le fait pas donc j'utilise habituellement ;;.
Clojure ne se soucie pas - toute ligne est ignorée du; à EOL.
Je crois qu'il y a une tradition en CL d'utiliser un nombre croissant de; pour indiquer les commentaires/sections plus importants.
aucun sens pour la langue. ;
est une macro de lecture pour comment
peut-être que d'autres outils les analysent mais "à l'intérieur de clojure", ce sont les mêmes.
Il n'y a aucune différence du point de vue de Clojure. Je trouve que ;;
se démarque un peu mieux que ;
, mais ce n'est que mon avis.
Marginalia, d'autre part, les traite différemment car il y a des moments où un commentaire doit rester dans la section de code (par exemple, licence) et ceux-ci sont signalés par ;
. Il s'agit d'une décision arbitraire et pourrait changer à l'avenir.
Dans les modes LISP d'emacs, y compris le mode clojure, ;;
est formaté avec la convention d'être au début d'une ligne et mis en retrait comme n'importe quelle autre ligne, en fonction du contexte. ;
est censé être utilisé à la fin d'une ligne, donc emacs ne fera pas ce que vous voulez si vous mettez un commentaire à un point-virgule au début d'une ligne en espérant qu'il s'aligne sur l'indentation du contexte actuel.
Exemple:
(let [foo 1]
;; a comment
foo) ; a comment
Je ne suis pas sûr (pas utilisé Clojure et jamais entendu parler de cela auparavant), mais ce fil pourrait aider.