Joh*_*den 21 namespaces clojure
我已经在几个地方读过,在clojure中不鼓励使用单段命名空间.
事实上,我见过的几乎每个库都有(需要'lib.core)而不是(require'lib).
为什么?
编辑:我有点傻.对于单个段命名空间如何可能是坏事的简明示例,将给出额外的功劳.
Mar*_*nik 21
Java不鼓励使用默认包,因为您无法从任何其他包中引用其中的任何内容.如果预编译一段Clojure命名空间,您将在默认包中获得一个Java类.如果有人在任何时候想要使用来自Java的库,那么他将被这种无足轻重的人所阻止.由于没有充分的理由支持使用单段命名空间,并且有一个明确定义的原因没有,可以公平地说单段命名空间应该是Clojure中的劝阻.
单段命名空间与Java互操作有问题.有些事情可能以意想不到的方式破裂 另请参阅https://groups.google.com/forum/?fromgroups=#!topic/clojure/gOffhotk25Y