计划编码风格问题

问题描述:

我很困惑我的代码的Scheme风格。计划编码风格问题

我应该如果格式为:

a。

if() 
() 
() 

或b。

if()() 
     () 

或c。

if()()() 

我应该格式条款COND作为
一个。

cond() 
     () 

或b。

cond 
() 
() 

什么时候使用单个;评论和一个双重的;;?

Here是Lisp风格指南,here是推荐评论风格。

如果你有一个emacs样式编辑器,在你的s表达式中输入C-M-q应该为你格式化;如果你的换行符是合理的(并且缩进列表的编辑器配置没有变得太糟糕),它会得到正确格式的代码。

要道格的答案填写您的具体问题:

(if test 
    then 
    else) 

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

或者,长系列表达式conds:

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

评论约定是有点宽松。当我写代码小心,我做这样的事情:

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


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

; VS ;;使用的确切边界变化。尤其是,有些人(包括我)不太喜欢尾随线条评论,而是将;用于功能评论,​​用于部分评论。

+0

请注意,大多数方案没有“文档字符串”。 – 2009-07-08 03:53:36

看看Peter Norvig的"Tutorial on Good Lisp Programming Style",虽然你会在任何Scheme/Lisp书中找到你的特定问题的答案。