Compiler construction 如何创建Clojure Lint?
常见Clojure编程错误的一个例子是,期望对惰性表达式进行副作用评估。表面上看,检查未使用的惰性表达式似乎会有所帮助。识别这个和那个的最佳方法是什么?核心编译器应该检查这些情况,还是应该在lint程序的域中进行检测?开始实施的好方法是什么?一些想法可以让事情开始;它可以检测到永远无法实现的惰性代码,或者指出将使用反射的区域。虽然一般来说,clojure作为一种语言来表达一组常见的可证明错误有点年轻?那么:Compiler construction 如何创建Clojure Lint?,compiler-construction,clojure,lint,Compiler Construction,Clojure,Lint,常见Clojure编程错误的一个例子是,期望对惰性表达式进行副作用评估。表面上看,检查未使用的惰性表达式似乎会有所帮助。识别这个和那个的最佳方法是什么?核心编译器应该检查这些情况,还是应该在lint程序的域中进行检测?开始实施的好方法是什么?一些想法可以让事情开始;它可以检测到永远无法实现的惰性代码,或者指出将使用反射的区域。虽然一般来说,clojure作为一种语言来表达一组常见的可证明错误有点年轻?那么: 无的多方法:默认方法 缺少文档字符串 如果函数的参数总是同一类型,则建议使用类型提示
- 无
的多方法:默认
方法
- 缺少文档字符串
- 如果函数的参数总是同一类型,则建议使用类型提示 论论据
- 指出相同匿名函数的多个副本
- 指出尾部递归并建议重组
- 在函数足够的地方使用宏
- 未使用的参数,尤其是
类型参数&rest
- 函数将使用bignum的位置 而不仅仅是整数或浮点