2009-07-05 14 views
6

Sono confuso sullo stile Scheme per il mio codice.Domande sullo stile di codifica dello schema

Devo formattare se moduli come:

a.

if() 
() 
() 

o b.

if()() 
     () 

o c.

if()()() 

Occorre prevedere clausole formato cond i come
a.

cond() 
     () 

o b.

cond 
() 
() 

Quando si utilizza un singolo; commentare e un doppio ;;?

risposta

7

Here è una guida di stile Lisp e here è uno stile di commento consigliato.

Se si dispone di un editor di stile emacs, digitare C-M-q all'interno dell'espressione s dovrebbe formattarlo per voi; otterrà il codice formattato correttamente se le interruzioni di riga sono ragionevoli (e la configurazione dell'editor per indent-alist non è stata malamente corretta).

5

di compilare la risposta di Doug per le vostre domande specifiche:

(if test 
    then 
    else) 

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

Oppure, per condi con una lunga serie di espressioni:

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

convenzioni di commento sono un po 'più ampia. Quando scrivo il codice attento, faccio qualcosa di simile:

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


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

Ma i confini esatti per ; vs ;; utilizzo variano. In particolare, alcune persone (incluso me) non apprezzano molto i commenti di coda e useranno invece ; per i commenti in funzione e ;;; per i commenti di sezione.

+0

Si noti che la maggior parte degli schemi non ha "doc-string". –

Problemi correlati