记录Clojure defn的[封闭式]的惯用方法。

问题描述 投票:1回答:1

记录函数定义的惯用方法是什么(defn)在Clojure中?特别是,我们是否应该使用"@param", "@returns"等来记录参数、返回值等?

在这种动态类型的语言中,是否有一些标准的方法来指定预期的参数类型(除了类型提示)?

documentation clojure standards
1个回答
1
投票

似乎并没有很强烈的使用@param标签的倾向,尽管我认为它们可能更常见。@returns标签可能不太适用,因为把函数的全部描述放在@returns标签下会很有意义。

通常情况下,clojure.core中的代码都坚持描述函数的作用,而且很多都是以 "return "开头的。

(defn rand-nth
  "Return a random element of the (sequential) collection. Will have
  the same performance characteristics as nth for the given
  collection."

在idomatic的clojure代码中,有一种倾向,就是尽量使用构建在序列抽象中的大多数函数,所以rand-nth的doc字符串可以看起来像。

(defn rand-nth
  "@Params: any seq
   @Returns a random element of the (sequential) collection. Will have
   the same performance characteristics as nth for the given
   collection."

所以 rand -nth 的 doc 字符串可以是:

© www.soinside.com 2019 - 2024. All rights reserved.