Java squid:Android上的最大深度

Java squid:Android上的最大深度,java,sonarqube,Java,Sonarqube,这是我的设置: SonarQube 5.6.6 SonarJava插件4.8.0.9441 代码: SonarQube认为FooActivity违反了squid:MaximumInheritanceDepth: 这个班有6个家长,超过5个 android.app.Activity是android原生API。 在计算违反此规则的情况时,是否应该忽略活动的任何超类 这是错误吗?这不是错误,而是配置问题。可以将规则配置为从继承树中筛选出类。默认情况下,不忽略任何类,该规则只计算继承级别的数量,直到

这是我的设置:

  • SonarQube 5.6.6
  • SonarJava插件4.8.0.9441
代码:

SonarQube认为
FooActivity
违反了
squid:MaximumInheritanceDepth

这个班有6个家长,超过5个

android.app.Activity
是android原生API。 在计算违反此规则的情况时,是否应该忽略
活动的任何超类


这是错误吗?

这不是错误,而是配置问题。可以将规则配置为从继承树中筛选出类。默认情况下,不忽略任何类,该规则只计算继承级别的数量,直到到达
对象
类。要配置筛选类,必须设置
filteredclass
规则属性


请注意,我们计划更新规则,不只是从总继承深度中排除过滤类,而是在到达过滤类后立即停止增加继承级别。修复将在处理Jira票证时完成。

这不是错误,而是配置问题。可以将规则配置为从继承树中筛选出类。默认情况下,不忽略任何类,该规则只计算继承级别的数量,直到到达
对象
类。要配置筛选类,必须设置
filteredclass
规则属性


请注意,我们计划更新规则,不只是从总继承深度中排除过滤类,而是在到达过滤类后立即停止增加继承级别。在处理Jira罚单时将进行修复。

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

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

您能否详细说明如何“设置filteredClasses规则属性”,特别是在Android环境下?我已将质量配置文件的规则配置为将filteredClasses设置为:Android.app.*,Android.view.*,Android.content.*,android.os.*更新:我还添加了支持库版本(v4、v7等)更新2:使用Androidx,您现在还需要添加appcompat软件包版本@sunil这是我当前的配置:“android.app.*,android.view.*,android.content.*,android.os.*,android.support.v4.app.*,android.arch.lifecycle.*,androidx.appcompat.app.*”您能否详细说明如何“设置filteredClasses规则属性?”“,特别是在Android环境中?我配置了质量配置文件的规则,将FilteredClass设置为:Android.app.*、Android.view.*、Android.content.*、Android.os.*更新:我还添加了支持库版本(v4、v7等)更新2:使用Androidx,您现在还需要添加appcompat软件包版本”@sunil这是我当前的配置:“android.app.*,android.view.*,android.content.*,android.os.*,android.support.v7.app.*,android.support.v4.app.*,android.arch.lifecycle.*,androidx.appcompat.app.*”
public class BaseActivity extends android.app.Activity {}

public class FooActivity extends BaseActivity {}