Scala有Rubocop吗?

Ben*_*nIO 1 scala

当我制作Rails应用程序时,我经常使用RuboCop来帮助确保我的代码是干净的,并且高达标准和可读性.

我现在正在学习Scalatra,我想知道是否有类似于RuboCop的插件可以检查代码的样式,并在您编写"脏代码"时给出警告.对于经验丰富的Scala开发人员来说,这可能不是必需的,但对于初学者来说,这是一个神派.

Tra*_*own 12

打开-Xlint编译器选项.如果你有空闲时间,也可以打开-Xfatal-warnings.在任何一种情况下,您将学到很多关于如何编写更安全的Scala代码的知识.

一旦你完成这项工作,成立WartRemover,这是一个很多更自以为是掉毛工具.你可能不同意WartRemover附带的所有规则 - 我不确定我这样做 - 但是你也会通过试图跟随它们来学习很多东西(当你不认为时,你会和Brian和co 争论.规则的目标实际上是一个疣.

还有一些语法和风格导​​向的工具,如Scalastyle(在上面的评论中提到),可以确保你没有混合标签和空格或其他任何东西(公平地说,Scalastyle比那更不肤浅).这些东西可能很有用,但我个人并不觉得它们非常有趣.

最后请注意,Scala最好的静态分析工具scalac本身(即使没有-Xlint打开).像RuboCop这样的工具有两个主要目标:鼓励您编写更多惯用的,可读的代码,并尝试捕获在运行时发生之前可能在运行时发生的问题.在编译语言中(特别是具有类似Scala的类型系统的编译语言),编译器本身可以在代码中捕获问题之前执行大量工作,然后再在运行时崩溃程序.