为什么 clojure 库会重用经常出现的函数名称,从而迫使您对它们进行命名空间限定?例如 clojure.zip 使用 next、replace 和 remove 已经存在于 clojure core 和“replace”已经存在于 clojure.string 中。
现在开发人员可能会为 clojure.zip 命名空间使用一些缩写,因此在一个开发人员的代码中,clojure.zip/next 将是命名空间限定为 z/next 在另一个人的代码中为 w/next 等。这将迫使你回头看看名称空间缩写实际上是什么,因为开发人员可以创建自己的库,该库也使用函数“next”
为什么不使用 zip-next、zip-replace 和 zip-remove、str-replace?或类似的东西
然后在人们的代码中会有一个一致的“命名空间限定”,这些函数指的是什么就很清楚了。
这不像图书馆之间有数百个名称冲突。我通常只看到两三个。明确地使这些名称对图书馆来说是独一无二的吗?