欢迎!请查看关于页面,了解更多关于如何使用本网站的信息。
在静态语言中,看待类型声明的一种方法是将它视为一个测试,这个测试会捕获潜在的不兼容代码路径。例如,传递的数据与代码不兼容。
在静态语言中,由于测试是内联声明的,因此可以减少编写测试的努力,而且推理允许一些注解渗透 - 话虽如此,Clojure的spec功能似乎可以用来实现类似的结果。
您是否使用spec来获取静态类型的好处?有什么局限性?
编辑:把这个重构成一个问题和我的想法移动到一个gist...
https://gist.github.com/olivergeorge/9ae12592b49f8da4d911650b793dcbda
能否总结一下您在这里真正提出的问题(们)?
我读完了全文,感觉它更像是一系列的观察,而不是这里可以回答的问题。
既然您的问题还没有得到回答,我将在这里附上我的最新博客文章链接
https://corfield.org/blog/2019/09/13/using-spec/
正如您从帖子中看到的,它最初是作为Quora上关于Spec的更开放性问题的一个答案而编写的。