将文档字符串放在数据变量上,它被认为是惯用的吗?

时间:2010-10-14 21:27:45

标签: documentation clojure

所以我已经定义了一些vars来保存我的clojure代码中的状态数据。我刚刚发现我可以在这些变量中添加一个doc字符串,例如:

(def ^{:doc "Documentation for *my-var*"}
        *my-var*)

这让我在REPL上拨打(doc *my-var*)。这似乎是一个有效且有用的事情,但它似乎并不像我读过的(有限的)代码中的常见做法。

这被认为是惯用语吗?

2 个答案:

答案 0 :(得分:11)

也用于Clojure名称空间(如clojure.pprint):

(def
 ^{:doc "The base to use for printing integers and rationals."
   :added "1.2"}
 *print-base* 10)

您可能不想使用clojure.contrib.def中的便利宏:

(defvar *my-var*
  nil
  "Documentation for *my-var*")

答案 1 :(得分:11)

自clojure 1.3以来,def允许使用可选的文档字符串。

(def *my-var*
  "My var does cool things (it really doesn't)."
  nil)
相关问题