scala - Scalafmt 包名检查器
问题描述
我在 scalariform 中找到了一个很好的规则来检查包名称,如下所示:
<check enabled="true" class="org.scalastyle.scalariform.PackageNamesChecker" level="warning">
<parameters>
<parameter name="regex">^[a-z][A-Za-z]*$</parameter>
</parameters>
</check>
但是,我在文档中找不到 scalafmt 的相应规则。有没有类似的东西?
解决方案
据我所知,Scalafmt只是一个代码格式化程序,这意味着它不会标记样式错误,而是根据您设置的预定义规则重新格式化您的代码(例如,在括号后添加新行,对齐 case 语句, ETC)。它的目标只是格式化代码,使其在开发人员之间看起来一致。
另一方面,Scalastyle(带有 Scalariform)被定义为:
Scalastyle 检查您的 Scala 代码并指出它的潜在问题。
因此,它定义了“检查”规则,就像您在问题中显示的那样,以警告您您的代码不遵守这些规则这一事实。但它不会根据这些规则重写/重新格式化您的代码。它更像是一个 linting 工具,而不是一个代码格式化程序。此外,它的范围更广,因为它提供了比格式化更多的规则:例如,它可以检查您是否使用null
with NullChecker
。
请注意,您可以同时使用两者(这通常是一个很好的做法),只要您不定义相互矛盾的规则!
推荐阅读
- html - 使用自定义表单创建令牌
- php - 如何用 PHP 中的 isset 重写我的 in_array?
- angularjs - 即使 md 收音机和日期选择器在同一页面上工作,md-nav-bar 也无法正常工作
- python - Python'ascii'编解码器无法编码字符错误
- javascript - Angular.js+nw.js+webpack+karma+jasmine 怎么测试
- java - 如何使用 Bazel 在源文件夹中生成文件?
- datatable - 我们可以为 PrimeNg 数据表的特定列设置 [reorderableColumns]="false" 吗?
- ios - 由于以下错误,跳过了安装 realm-cocoa.framework 二进制文件:
- python - 将列表从 str 转换为具有 2 个以上小数位的浮点数
- mysql - 选择时错误的 auto_increment 值