请分享你的想法在12024 Clojure状态调查!

欢迎!请查看2关于页面了解更多关于这个网站如何工作的信息。

+4
lambda Clojure
编辑

在静态语言中看待类型声明的一种方式是将其视为一个选择,它能够检测潜在的不兼容代码路径。例如,传递的数据与代码不兼容。

在静态语言中,将测试与代码内联声明可以减少编写测试的工作量,并且推断允许一些注解渗透——尽管如此,Clojure的spec特性似乎也可以实现类似的结果。

你使用spec来获取像静态类型一样的益处吗?有什么限制?

编辑:将此内容改为其问题形式,并将我的想法移至gist...

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

2 答案

+1
lambda

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

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


编辑
谢谢花时间阅读。

我想探讨spec检查在提供静态类型一些好处方面的价值和局限性。

也许我的方法是过于开放。

这是不是讨论成功技巧和应该避免的误区的地方?

编辑:我已更改标题。
像Quora和StackOverflow一样,这是一个提问和获取答案的地方 - 但我实在不知道你在问什么。我认为如果你能编辑得更具体一些,让人们清楚答案是什么,这会有所帮助。

我认为clojure.spec与静态类型不可比,因此,即使新的标题措辞为问题,我也不知道如何回答(我们自从clojure.spec的第一个alpha构建以来一直是它的重度用户,在1.9.0周期早期)。
我把我的想法重新整理并移动到了gist中...

https://gist.github.com/olivergeorge/9ae12592b49f8da4d911650b793dcbda
很好,现在问题很清晰了。我很想看看你能得到什么答案!
我认为应该将要点链接到问题中。
完成了。谢谢。
0

由于你的问题还没有任何答案,我在这里发布了我最近的一篇博客文章的链接

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

正如你在文章中所看到的,它最初是作为Quora上关于Spec的一个更开放的问题的回答而编写的。

...