包名称应符合命名约定(squid:S00120)和下划线

时间:2017-12-17 19:28:37

标签: java sonarlint

SonarLint 会产生错误:

Package names should comply with a naming convention (squid:S00120) ... With the default regular expression ^[a-z]+(\.[a-z][a-z0-9]*)*$.

然而,JLS允许甚至建议使用下划线。第6.1条。声明说,i.a。,

  

如果域名包含连字符或任何其他特殊字符   不允许在标识符(§3.8)中,将其转换为下划线。

我可以更改正则表达式还是必须在产品中修复?

1 个答案:

答案 0 :(得分:1)

考虑使用SonarQube服务器。您可以将SonarLint插件连接到服务器,并操纵SL在IDE中执行SCA的方式。

SQ的一个更好的功能是能够禁用SCA规则并将其从以后的所有扫描中删除。使用此功能,您可以禁用包名称规则(我也觉得很烦人),a而不是让编辑视图混乱。

另一种选择是创建一个新规则,该规则将对包名称强制执行新的正则表达式约定 - 例如,允许包名称为Camel Case。

最后,正如Jonathan Rosenne在对该问题的评论中所述,Jonathan在此问题后打开的包名称问题SONARJAVA-2596已修复,可以看作here

参考: