gpt4 book ai didi

clojure - 从文件中重构 Clojure 函数

转载 作者:行者123 更新时间:2023-12-04 16:54:39 24 4
gpt4 key购买 nike

鉴于每个 Clojure 命名空间都对应一个文件,难道公共(public)函数、宏等永远不能在不破坏向后兼容性的情况下从该文件中移出吗?

这似乎是一个令人惊讶的僵化系统——本质上,面向公众的代码的重构只能在单个文件中完成。

这种限制是否有技术原因?也许与 Java 互操作有关?

最佳答案

您可以将单个命名空间拆分为多个文件(请参阅 Splitting a Clojure namespace over multiple files ),但这种情况很少见。您也可以使用 https://github.com/ztellman/potemkin 导入变量但在实践中很少这样做。 Clojure 库往往具有相对较小的公共(public)接口(interface),这可能是因为它们通常对公共(public)数据结构进行操作。因此,很少有包含大量代码的文件。

如果您想保持向后兼容性,您可以 def将 var 放入命名空间(或什至在具有不同名称的命名空间中),以确保任何调用者仍将解析为正确的函数。

关于clojure - 从文件中重构 Clojure 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37914032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com