通常 requiring "深层" 的命名空间并将它们简称为更短的形式。
(require '[my.deep.namespace.db.utils :as utils])
但有时我们希望在别名中包含更多上下文。
(require '[my.deep.namespace.db.utils :as db.utils])
这似乎有效,但Reader的引用说明
'.'有特殊含义 - 它可以在符号的中间 使用一次或多次以指定完全限定的类名,例如java.util.BitSet,或者在命名空间名称中。以'.'开头的符号或以'.'结尾的符号被Clojure保留。包含/或.的符号被认为是已限定。
强调:在命名空间名称中 —— 这是否包括命名空间别名的情形,或者应该避开因为它仅因为向后兼容性而工作?
另一种可能的做法是:
(require '[my.deep.namespace.db.utils :as db-utils])