2009-07-05 14 views
6

No estoy seguro del estilo Scheme para mi código.Scheme Coding Style Questions

¿Debo formatear Si se forma como:

a.

if() 
() 
() 

o b.

if()() 
     () 

o c.

if()()() 

¿Debo cláusulas formato cond como
a.

cond() 
     () 

o b.

cond 
() 
() 

¿Cuándo se utiliza una sola; comentar y un doble ;;?

Respuesta

7

Here es una guía de estilo Lisp, y here es un estilo de comentario recomendado.

Si tiene un editor de estilo emacs, al escribir C-M-q dentro de su s-expression debe formatearlo; obtendrá un código con formato correcto si los saltos de línea son razonables (y la configuración del editor para sangría-alista no ha sido maltratada demasiado).

5

Para llenar en la respuesta de Doug para sus preguntas específicas:

(if test 
    then 
    else) 

(cond 
    (test1 exp1) 
    (test2 exp2) 
    (else exp3)) 

O, para conds con una larga serie de expresiones:

(cond 
    (test1 
    exp1 
    exp2) 
    (else 
    exp3 
    exp4)) 

convenciones de comentario son un poco más flojo. Cuando estoy escribiendo código de cuidado, hago algo como esto:

;;; new section ;;; 
;;; section comments 


(define (f g . x) 
    "docstring goes here" 
    ;; in-function comments 
    (g x)) ; trailing line comment 

Sin embargo, los límites exactos para ; vs ;; uso varían. En particular, a algunas personas (incluyéndome a mí) no les gusta mucho seguir los comentarios de la línea y, en su lugar, usarán ; para los comentarios en función y ;;; para los comentarios de la sección.

+0

Tenga en cuenta que la mayoría de los esquemas no tienen "doc-strings". –