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

欢迎!请查看关于页面,了解更多关于如何使用本网站的信息。

+4
Clojure
编辑

在静态语言中,看待类型声明的一种方法是将它视为一个测试,这个测试会捕获潜在的不兼容代码路径。例如,传递的数据与代码不兼容。

在静态语言中,由于测试是内联声明的,因此可以减少编写测试的努力,而且推理允许一些注解渗透 - 话虽如此,Clojure的spec功能似乎可以用来实现类似的结果。

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

编辑:把这个重构成一个问题和我的想法移动到一个gist...

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

2 个回答

+1

能否总结一下您在这里真正提出的问题(们)?

我读完了全文,感觉它更像是一系列的观察,而不是这里可以回答的问题。


编辑
感谢您花时间阅读。

我对探索spec检查在提供静态类型的一些优点方面的价值和局限性很感兴趣。

也许我的方法太开放了。

这是不是鼓励讨论成功技术和应避免的事物的错误地方?

编辑:我已更改标题。
像Quora和StackOverflow一样,这是一个提问和获得答案的地方——但是我真的不知道你在问什么问题。我认为如果你能编辑它,使它更加关注你所问的问题,这样人们就会清楚他们要回答什么,这会有帮助。

我认为clojure.spec与静态类型不可比较,所以对我来说,即使新的标题用疑问句的形式表述,我也不知道怎么回答(我们自从clojure.spec的第一版alpha版本以来就开始是它的重度用户了)。
我将我的想法重新组织和移到gist中...

https://gist.github.com/olivergeorge/9ae12592b49f8da4d911650b793dcbda
太好了。现在问题很清晰了。我想知道你会得到什么答案!
我认为应该在问题中链接要点。
已处理。谢谢。
0

既然您的问题还没有得到回答,我将在这里附上我的最新博客文章链接

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

正如您从帖子中看到的,它最初是作为Quora上关于Spec的更开放性问题的一个答案而编写的。

...