2009-07-05 16 views
6

Jestem zdezorientowany stylem Scheme dla mojego kodu.Schematy pytań dotyczących stylów kodowania

Należy sformatować, jeśli formularze są następujące:

a.

if() 
() 
() 

lub b.

if()() 
     () 

lub c.

if()()() 

powinienem klauzule Format cond jak
a.

cond() 
     () 

lub b.

cond 
() 
() 

Kiedy używam singla; komentować i podwójnie ;;

Odpowiedz

7

Here to przewodnik w stylu Lispa, a zalecanym stylem komentowania jest here.

Jeśli posiadasz edytor stylów emacs, wpisanie C-M-q w s-wyrażeniu powinno go sformatować; dostaniesz poprawnie sformatowany kod, jeśli twoje linie podziału są rozsądne (a konfiguracja edytora dla indent-alist nie została zbyt mocno zmanipulowana).

5

wypełnić odpowiedź Douga dla konkretnych pytań:

(if test 
    then 
    else) 

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

Albo na conds z długiego szeregu wyrażeń:

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

Komentarz konwencje są trochę luźniejsze. Kiedy piszę starannego kod, mam coś takiego:

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


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

ale dokładne granice ; vs ;; użytkowania różnić. W szczególności, niektórzy ludzie (w tym ja) nie bardzo lubią ciągłe komentarze do linii i zamiast tego będą używać ; dla komentarzy w funkcji i ;;; dla komentarzy sekcji.

+0

Należy zauważyć, że większość programów nie zawiera "ciągów dokumentów". –

5

Spójrz naPetera Norviga, chociaż znalazłeś odpowiedź na swoje pytanie w dowolnej książce Scheme/Lisp.

Powiązane problemy