如何创建一个Clojure Lint?

13

在Clojure编程中,一个常见的错误是期望对惰性求值进行副作用。表面上看,检查未使用的惰性表达式可能会有所帮助。那么,识别这种情况和其他常见错误的最佳方法是什么?核心编译器应该检查这些情况吗,还是应该由lint程序来检测?实现起来应该怎么做比较好?

2个回答

4

如何考虑:

  • 没有:default方法的多方法
  • 缺少文档字符串
  • 在函数参数始终是相同类型的情况下,建议对参数进行类型提示
  • 指出多个相同匿名函数的副本
  • 指出尾递归并建议重组
  • 在函数可以使用宏的情况下只使用函数
  • 未使用的参数,特别是&rest类型参数
  • 在函数将使用BigNums而不仅仅是整数或浮点数时

不确定这些检查如何实现,但它们肯定会节省我很多时间。


1
以下是一些初始想法:它可以检测到永远无法实现的懒惰代码,或者指出将使用反射的区域。虽然总体而言,Clojure作为一种语言来表达一组可证明的常见错误还有点年轻?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接