2024 Clojure调查!中分享您的想法。

欢迎!请访问关于页面以获取更多信息。

+4
Clojure
编辑

把静态语言中的类型声明看作是一种测试,该测试可以检测潜在的不兼容代码路径。例如,传入的数据与代码不兼容。

在静态语言中,由于测试是内联在代码中声明的,所以编写测试的工作量减少,推理允许几种注解渗入——话虽如此,似乎Clojure的spec特性可以被用来实现类似的结果。

您是否使用spec来获取静态类型的好处?有哪些局限性?

编辑:我将其重新整理为一个问题,并将我的想法移到gist中...

https://gist.github.com/olivergeorge/9ae12592b49f8da4d911650b793dcbda

2 个答案

+1

你能概括一下你在这里真正提出的问题吗?

我读完了整个文章,但似乎更像是观察而非这里能回答的问题。


编辑了
感谢您花时间阅读。

我对探索在提供静态类型的一些好处时,spec检查的价值和限制很感兴趣。

也许我的方法过于宽泛。

这是不是鼓励讨论成功技术和要避免的事项的不当地方?

编辑:我已更改标题。
就像Quora和StackOverflow一样,这里是一个提问和获取答案的地方——但我实在无法理解您的问题。我认为,如果您能将其编辑得更具体,阐述您想了解什么,这将有助于大家明确回答。

我认为clojure.spec不能与静态类型相比,因此,即使将标题改为问题,我也不知道如何回答(并且自从1.9.0周期的早期预览版本以来,我们就一直是非常重的clojure.spec使用者)。
我已经重构并把我的一些想法放到gist上...

https://gist.github.com/olivergeorge/9ae12592b49f8da4d911650b793dcbda
cool。现在问题很清晰了。我很期待看到你的答案!
我认为应该在问题中链接要点。
完成。谢谢。
0 投票

由于你的问题还没有得到回答,我在这里放上了最近的一篇博客链接

https://corfield.org/blog/2019/09/13/using-spec/

从博客中可以看出,它原本是作为Quora上关于Spec的更开放性问题的一个答案。

...