gpt4 book ai didi

dictionary - 如何重构 Clojure 源代码,尤其是重命名 map 集合的关键字?

转载 作者:行者123 更新时间:2023-12-04 07:57:23 31 4
gpt4 key购买 nike

我在开发Clojure项目时,有时会遇到这样的情况:重命名 map 集合的关键字有些困难。
例如,如果我有一个由多个命名空间共享的 map 集合。然后,这些命名空间将取决于此映射集合的关键字,因为在这些命名空间中定义的函数使用映射销毁语法。当我重命名这个 map 集合的关键字时,我肯定需要彻底检查这些命名空间。
在这种情况下,有什么工具或有效的方法可以使用吗?

最佳答案

当您使用不合格的:x 时,这将是一个挑战。四十个不同的含义,然后决定重命名其中一个。如果您没有(并且不想制作)足以检测预期参数丢失的测试用例,那么挑战将变得令人头疼。
下一次,考虑为将广泛使用的用途指定(唯一)命名空间限定的关键字。替换是明确的,工具更有可能将其自动化。
在您重新编写代码时,一些语言功能可以提供帮助,具体取决于您决定重命名内容的范围的规模。
先决条件 给你一个地方来断言一个解构的论点(或者只是记录它,如果你需要逐个判断成功的话)。
纯函数 允许您克隆一堆代码,重命名克隆版本中的内容(或修改任何逻辑),然后并行运行两个版本并断言它们得出相同的结果。例如,克隆函数 ff-1f-2 , 返工 f-2 ,并重新编程 f所以它同时调用 f-1f-2并断言结果相同。当他们同意时,您可以删除原件。
测试 内置 clojure.test 非常容易(还有更精细的替代方案)。

关于dictionary - 如何重构 Clojure 源代码,尤其是重命名 map 集合的关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66632450/

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