gpt4 book ai didi

clojure - 什么是 Clojure 规范?

转载 作者:行者123 更新时间:2023-12-04 13:00:48 27 4
gpt4 key购买 nike

我无法理解 的意图clojure . 规范

它解决了什么样的问题?

我们为什么要使用它?

最佳答案

spec 允许您为数据和函数创建规范。规范的核心是谓词(基于现有的 Clojure 谓词)和结构,而不是您在静态类型语言中可能看到的基于类型。通过基于谓词的规范,您可以编写比大多数类型系统更具表现力的规范,并使用与您的代码相同的语言。

在函数上定义的规范指定参数的规范、返回值以及参数和返回的函数。最后一个允许检查比大多数类型或契约(Contract)系统中可以检查的范围大得多的事情(容易)。

定义规范后,您可以使用它们:

  • 根据规范检查值是否有效
  • “符合”一个值,它为您提供值的解析和解构版本
  • 详细解释为什么值不符合规范(作为字符串、标准输出或数据)
  • 使用描述性规范增强功能文档
  • 从规范生成示例数据
  • 在开发中声明一致性,但在生产中将其关闭
  • 在开发或测试中检测无效调用以检测检测函数
  • 为指定的函数生成并运行基于属性的测试
  • 开发将仪器和测试生成与 stub 和模拟设施相结合的测试

  • 您可以使用规范来改进您的开发(通过阐明和记录您的意图、捕获无效调用和断言数据有效性)、您的测试(捕获无效调用、断言有效性、生成示例数据以及为您指定的功能生成自动测试) ),以及您的作品(通过使用一致性进行解构)。

    此外,Clojure 核心对规范的使用将导致更好的错误消息和扩展核心库使用的开发时检查以更早地发现错误。

    关于clojure - 什么是 Clojure 规范?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37772517/

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