这是我的设计:
代码:
public class BaseActivity extends android.app.Activity {}
public class FooActivity extends BaseActivity {}SonarQube认为FooActivity违反了squid:MaximumInheritanceDepth
这个班有6位家长,超过5人。
android.app.Activity是Android。在计算违反此规则的行为时,不应该忽略Activity的任何超类吗?
这是个bug吗?
发布于 2017-04-27 10:06:44
这不是一个bug,而是一个配置问题。可以将规则squid:S110配置为从继承树筛选出类。默认情况下,不忽略任何类,规则只计算继承级别的数量,直到到达Object类为止。为了配置筛选的类,必须设置filteredClasses规则属性。
请注意,它计划更新到规则,不仅将过滤的类排除在总继承深度之外,而且一旦到达筛选的类,就停止增加继承级别。修复将在处理Jira票证SONARJAVA-2252时完成。
发布于 2021-06-23 18:11:42
您可以随时在类级别@java.lang.SuppressWarnings("squid:MaximumInheritanceDepth")上使用下面的注释来抑制此警告。
https://stackoverflow.com/questions/43654193
复制相似问题