【问题标题】:Automatically add "this." to instance variables自动添加“this”。实例变量
【发布时间】:2013-02-04 08:44:42
【问题描述】:

我们已经开始实施 checkstyle 来为开发人员提供一致的代码风格。其中一项检查要求所有实例变量都是使用“this.”引用的。我没有使用“this.”的习惯,因此有成千上万的实例需要修复。

是否有可以运行并添加适当代码的工具或 IntelliJ 插件?

【问题讨论】:

  • 为什么?这是多余的。不要做多余的工作。没有人愿意为此付钱,他们为什么要付钱呢?修改您的 checkstyle 配置,以免需要它。不要让工具告诉你如何花钱,也不要误以为“开发人员之间一致的代码风格”对于交付工作产品至关重要。它不是,只要代码清晰可维护。我看到在这个问题上浪费的时间和金钱比我想的要多。
  • 这是 checkstyle 中比较无聊的检查之一。每个人都使用带有语法高亮功能的 IDE。
  • 这个答案准确地解释了你需要什么:stackoverflow.com/a/19865423/1149414

标签: java intellij-idea checkstyle


【解决方案1】:

其中一项检查要求使用“this”引用所有实例变量。

所以'checkstyle'是错误的。

我一直没有使用“this”的习惯。

非常正确。这是多余的。对你有好处。

因此有数千个实例需要修复。

所以错了。

您没有任何个“需要修复”的实例。

不要这样做。这是多余的。不要做多余的工作。没有人愿意为此付钱,他们为什么要付钱呢?修改您的 checkstyle 配置,以免需要它。不要让工具告诉你如何花钱,也不要误以为“开发人员之间一致的代码风格”对于交付工作产品至关重要。它不是,只要代码清晰可维护。我看到在这个问题上浪费的时间和金钱比我想的要多。

【讨论】:

  • +1 表示理智的声音。可以自动检测到的迂腐废话几乎不会显着影响代码库的理解难易程度。实习生曾经写过的一个类,该类有七层深且没人敢碰的循环嵌套,或者 JSF,任何获得的收益都将相形见绌。如果您进行自动代码质量检查,请关注诸如圈/数据流复杂性之类的事情。测试覆盖率也可能是“可读性”的更好代表。
  • 我要补充一点,我在 1971 年开始编程,当时有各种各样的编码风格,其中大多数是个人的,而且除了作者之外,大多数人都难以辨认。没有空格的 Fortran 程序;程序全部写在一行上……向编码标准迈进的目的是修复this,,它确实做到了。自 1982 年左右以来,我认为这是一个完全解决的问题,我从未让软件工具决定我如何度过我的时间或金钱。
【解决方案2】:

在日食中: 窗口 - 首选项 - Java - 编辑器 - 保存操作 - 配置... - 成员访问 -

您在此处选中“使用此”复选框。

每次保存代码时,它都会进行更正。

我刚刚找到this 页面。

对于那些想要有效使用 eclipse 的人来说,阅读永远不会太晚。我想也会有类似 Netbeans 和其他的东西。

【讨论】:

  • 顺便说一句,您可以应用规则,例如删除未使用的导入等...我真的很喜欢这个功能。
【解决方案3】:

其中一项检查要求所有实例变量都是使用“this”引用的。

IMO,最好的解决方案是与开发团队的其他成员一起提出这个问题,并获得同意关闭这个愚蠢检查。如果添加多余的this 关键字可以提高可读性,那么您不得不怀疑阅读代码的人的 Java 技能。

如果他们反击,我会很想这样表达我的厌恶:

public class SomeClass {
  private String thisName;

  public String getName() {
      return this.thisName;
  }

  public void setName(String notThisName) {
      this.thisName = notThisName;
  }

  // and so on
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-26
    • 2018-05-13
    • 2012-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多