【问题标题】:Java rule that warns on hiding fields警告隐藏字段的 Java 规则
【发布时间】:2021-12-01 16:40:44
【问题描述】:

Java 允许hiding fields

与超类中的字段同名的字段会隐藏超类的字段

但这不是最佳实践

我们不建议隐藏字段,因为这会使代码难以阅读。

在IDE或静态工具中隐藏字段是否有规则可以警告?

我目前使用 VS 代码

我们希望避免错误设置子字段和获取父字段的问题

public abstract class Parent {
   protected String a; 
   public abstract String test();
}
public class Child extends Parent {
   protected String a; 
    @Override
    public String test() {
        return null;
    }
}

【问题讨论】:

  • 也许Sonarlint 会帮助你。即使没有预定义的规则,您也可以创建自己的规则。
  • @Aris 我搜索特定规则
  • @Tom 我的字段不是 static 也不是 private ,而是受保护的,添加示例
  • @user7294900 SonarSource 将在您提供的示例中找到代码气味

标签: java visual-studio-code hidden-field member-hiding


【解决方案1】:

在 Intellij IDEA 中:

设置 -> 编辑器 -> 检查 -> Java -> 可见性 -> 字段名称 隐藏超类中的字段

【讨论】:

    【解决方案2】:

    Eclipse 和 IntelliJ 都允许您在隐藏字段时配置警告甚至错误。不幸的是,两者都没有在我的平板电脑上运行,因此您必须自己查找详细信息。

    顺便说一句,我相信 NetBeans 也有类似的东西。


    对于 Eclipse,可以查看“Preferences>Java>Compiler>Errors>Field declarations hides another field or variable”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-17
      • 1970-01-01
      • 2015-06-03
      • 1970-01-01
      • 2019-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多