【发布时间】:2012-04-10 19:37:54
【问题描述】:
我是 clojure 的新手,我主要的工作是编写可读的代码。我经常会得到类似下面的函数。
(fn rep
([lst n]
(rep (rest lst)
n
(take n
(repeat (first lst)))))
([lst n out]
(if
(empty? lst)
out
(rep
(rest lst) n
(concat out (take n
(repeat
(first lst))))))))
有很多端括号的堆积。减少这种情况或以更容易发现丢失括号的方式对其进行格式化的最佳方法是什么?
【问题讨论】:
-
那是
Lisp-anese给你的。使用有助于括号匹配的体面编辑器是一种方法。 -
您总是可以将单括号放在自己的行上,并与左括号对齐(如 C# 或 Java 的标准花括号语法)。然而,一些铁杆 Lispers 可能会对你说不礼貌:)
-
我想我会以“核心 lisper”的身份介入,尽管我只使用 lisp 两年。将括号放在自己的行上就像格式化的主要罪恶 - 你可以做出更糟糕的选择。 lisp 的许多方言都(或多或少地)选择了一种编码风格,因为它具有相当的可读性,不像类 C 语言,它们都有许多激发圣战的风格。不要因为你没有掌握它的窍门就放弃标准风格。
标签: clojure lisp readability code-readability