将您的想法分享到2024年Clojure状态调查!

欢迎!请查看关于页面了解如何使用本站。

+4
Clojure
编辑

在静态语言中,一种看待类型声明的观点是将它视作一个测试,该测试可以识别可能不兼容的代码路径。例如,传递的数据与代码不兼容。

在静态语言中,将类型声明声明为与代码内联可以减少编写测试的工作量,同时推理让一些注解得以渗透——也就是说,Clojure的spec特性似乎可以达到类似的效果。

您是否使用spec来获得静态类型类似的好处?有什么局限性?

编辑:将此内容重构成一个问题,并将我的想法移动到gist中...

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

2 答案

+1

能否总结一下您在这里实际提出的问题是什么?

我通读了整个帖子,但它更像是一系列观察,而不是这里可以回答的问题。


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

我感兴趣的是探索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的一个更开放的问题的回答而写的。

...