【发布时间】:2022-01-07 13:20:58
【问题描述】:
Sonar 中报告了一个抽象类的简单小问题,它说要根据正则表达式更新类名:'^Abstract|Base[A-Z][a-zA-Z0-9]*$'
看起来很简单,我们只需要在类名前面加上抽象这个词。但令人惊讶的是,它并没有解决问题。
我们真的在为这个愚蠢的事情挠头。 我什至尝试创建一个新类来显示下面的错误。现在,谁能指导我为什么声纳仍在报告这个命名约定问题:
【问题讨论】:
-
我非常不同意这条规则——它没有为每个抽象类添加任何前缀;只是噪音。就个人而言,我会禁用这条规则并继续做一些富有成效的事情。
-
第二个@BoristheSpider 的评论:它与使用
I前缀接口一样有用。 -
根据 Sonar 的匹配方式(是否匹配整个类名),正则表达式甚至并不意味着你所说的意思。使用正则表达式调试器找出正则表达式实际匹配的内容。这可能就是为什么即使使用类名
AbstractClass仍然会出现错误的原因。尝试public abstract class BaseJustTestingClass并报告是否被接受。
标签: java sonarqube abstract-class naming-conventions