在Clojure编程中,一个常见的错误是期望对惰性求值进行副作用。表面上看,检查未使用的惰性表达式可能会有所帮助。那么,识别这种情况和其他常见错误的最佳方法是什么?核心编译器应该检查这些情况吗,还是应该由lint程序来检测?实现起来应该怎么做比较好?
如何考虑: 没有:default方法的多方法 缺少文档字符串 在函数参数始终是相同类型的情况下,建议对参数进行类型提示 指出多个相同匿名函数的副本 指出尾递归并建议重组 在函数可以使用宏的情况下只使用函数 未使用的参数,特别是&rest类型参数 在函数将使用BigNums而不仅仅是整数或浮点数时 不确定这些检查如何实现,但它们肯定会节省我很多时间。