有一个Clojure约定命名私有函数?

当我在Clojure中定义一个私有函数时,我通常使用一个前缀作为可视化指示符,该函数不能在我的命名空间之外使用。

(defn- -name []
  (let [formatter (formatter "yyyy-MM-dd-HH-mm-ss-SSSS")]
    (format "fixjure-%s" (unparse formatter (now)))))

但前缀似乎也是公共方法在使用gen-class时的约定。

在Clojure社区中有没有任何普遍接受的defn-‘d函数的约定,或者我应该简单地使用非前缀名?

似乎很多代码在clojure.contrib(可能会安静)使用正常的名称私有函数,所以也许这是最好的,但我真的很喜欢的视觉指示器 – 也许我的C / Perl背景太强了! 😉

没有约定;视觉指示器在没有内在概念的私有功能的语言中是普遍的。因为Clojure的defn-定义的函数在它们的命名空间之外是不可见的,所以不需要用一个丑陋的函数来前缀函数。

所以做你所做的,但你应该可能想做只是做社区的其余部分,只是命名他们正常!它会让你的生活更轻松。

翻译自:https://stackoverflow.com/questions/10846423/is-there-a-clojure-convention-for-naming-private-functions

转载注明原文:有一个Clojure约定命名私有函数?