gpt4 book ai didi

Clojure 的重构技术

转载 作者:行者123 更新时间:2023-12-03 10:29:25 25 4
gpt4 key购买 nike

我熟悉在 C# 和 Java 中重构相当大的代码库,但 Clojure 是一种不同的野兽,特别是因为它:

  • 在典型代码中混合使用宏和函数(即,您可能想从宏重构为函数,反之亦然?)
  • 在大多数情况下使用动态类型(因此您不会在编译时检查重构代码的正确性)
  • 在风格上是功能性的而不是面向对象的
  • 在当前 IDE 中对重构的支持较少
  • 对代码库中的循环依赖的容忍度较低(使得移动代码块/定义 block 变得更加困难!)

  • 鉴于上述情况,在 Clojure 中进行代码重构的最佳方法是什么?

    最佳答案

    "Working effectively with legacy code" Michael Feathers 建议添加单元测试以在代码中创建人为的“拐点”,您可以重新考虑这些拐点。

    关于他为非结构化代码添加顺序的方法的 super 简短且完全不完整的概述:

  • 将代码分为“旧版”(没有测试)和其余部分。
  • 创建测试
  • 反复出现在两半。

  • 递归方法似乎很适合我在思考 Clojure 时使用的心理过程,因此我将它们联系起来。即使是新语言也可以有遗留代码,对吗?

    这是我在思考clojure时阅读那本书所得到的。所以我希望它作为一个通用的指导方针是有用的。也许你的代码库已经有很好的测试,在这种情况下你已经超出了这个阶段。

    关于Clojure 的重构技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7630979/

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