【发布时间】:2019-07-23 04:55:09
【问题描述】:
众所周知,Java 中存在默认的可见性修饰符。据我了解,此修饰符可以像其他修饰符一样使用。但是为什么 SonarQube 将默认修饰符标记为漏洞 - 显式声明“var”的可见性?
【问题讨论】:
-
这是您“质量档案”中的特殊规则。你可以设置任何你想要的规则。
标签: java variables sonarqube access-modifiers
众所周知,Java 中存在默认的可见性修饰符。据我了解,此修饰符可以像其他修饰符一样使用。但是为什么 SonarQube 将默认修饰符标记为漏洞 - 显式声明“var”的可见性?
【问题讨论】:
标签: java variables sonarqube access-modifiers
看看the rule的描述。
未能显式声明成员变量的可见性 可能会导致它具有您不期望的可见性,并且 可能会使其对其他类进行意外修改。
如果你有一个类包私有的属性,那么同一个包中的任何类都可以修改这个属性。
但是 Package private 仍然有有效的用途。例如,您可能希望将一个类声明为包私有,以便它可以在声明它的包中使用,但对公共使用保持隐藏。
【讨论】: