我发现了一个很好的标量规则,可以检查软件包名称,如下所示:
<check enabled="true" class="org.scalastyle.scalariform.PackageNamesChecker" level="warning">
<parameters>
<parameter name="regex">^[a-z][A-Za-z]*$</parameter>
</parameters>
</check>
但是,我在文档中找不到scalafmt的相应规则。有这样的东西吗?
答案 0 :(得分:3)
据我所知,Scalafmt只是一个代码格式化程序,这意味着它不会标记样式错误,而是根据您设置的预定义规则重新格式化代码(例如,在之后添加新行括号,对齐大小写语句等)。它的目标只是格式化代码,以便在开发人员之间看起来一致。
另一方面,Scalastyle(带有Scalariform)定义为:
Scalastyle检查您的Scala代码并指出其潜在问题。
因此,它定义了"check" rules,就像您在问题中显示的那样,警告您有关代码不遵守这些规则的事实。但是它不会根据这些规则来重写/重新格式化您的代码。与代码格式化程序相比,它更像是整理工具。此外,它的范围更广,因为它不仅提供格式设置,而且还提供更多的规则:例如,它可以检查您是否将null
与NullChecker
一起使用。
请注意,只要您没有定义矛盾的规则,就可以同时使用这两种方法(通常是一种好的做法)!