一位花时间评论我关于 Clojure/LISP 语法的其他问题的人指出,我没有以标准 LISP 方式编写示例代码。所以他很友好地重写了代码片段,这是一个很大的帮助。但它在我的脑海中提出了另一个问题。为什么会这样:
(if (= a something)
(if (= b otherthing)
(foo)))
这是标准 LISP 格式比这种形式更可取:
(if (= a something)
(if (= b otherthing)
(foo)
)
)
由于我的 C++ 开发背景,这就是我天真地格式化此代码的方式。我想知道后一种格式是否有任何好处,或者它只是一个根深蒂固的标准(如 QWERTY 键盘)。我并不是要争论——我很难理解为什么第一种形式更可取。第二种形式帮助我更容易地查看代码结构。