首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >squid: Android上的MaximumInheritanceDepth

squid: Android上的MaximumInheritanceDepth
EN

Stack Overflow用户
提问于 2017-04-27 09:44:31
回答 2查看 6.9K关注 0票数 7

这是我的设计:

  • SonarQube 5.6.6
  • SonarJava插件4.8.0.9441

代码:

代码语言:javascript
运行
复制
public class BaseActivity extends android.app.Activity {}

public class FooActivity extends BaseActivity {}

SonarQube认为FooActivity违反了squid:MaximumInheritanceDepth

这个班有6位家长,超过5人。

android.app.Activity是Android。在计算违反此规则的行为时,不应该忽略Activity的任何超类吗?

这是个bug吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-27 10:06:44

这不是一个bug,而是一个配置问题。可以将规则squid:S110配置为从继承树筛选出类。默认情况下,不忽略任何类,规则只计算继承级别的数量,直到到达Object类为止。为了配置筛选的类,必须设置filteredClasses规则属性。

请注意,它计划更新到规则,不仅将过滤的类排除在总继承深度之外,而且一旦到达筛选的类,就停止增加继承级别。修复将在处理Jira票证SONARJAVA-2252时完成。

票数 7
EN

Stack Overflow用户

发布于 2021-06-23 18:11:42

您可以随时在类级别@java.lang.SuppressWarnings("squid:MaximumInheritanceDepth")上使用下面的注释来抑制此警告。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43654193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档