Java 这项要求背后的动机是什么?

Java 这项要求背后的动机是什么?,java,this,checkstyle,readability,Java,This,Checkstyle,Readability,就我个人而言,我觉得它更具可读性(特别是当不是从IDE而是从代码审查工具中读取时),但除了可读性之外,还有其他原因进行此检查吗?考虑以下几点: int b,c; public MyConstructor(int a, int b){ b = a; c = b; } 这是合法的。它编译。它可能没有达到你想要的效果。添加这个可以确保你不会意外地隐藏一些你不想隐藏的东西。这只是惯例,有一些优点和缺点 如果不使用IDE,此检查非常有用。它可以帮助代码审查消除代码引用的歧义,提高可读性,防止与


就我个人而言,我觉得它更具可读性(特别是当不是从IDE而是从代码审查工具中读取时),但除了可读性之外,还有其他原因进行此检查吗?

考虑以下几点:

int b,c;

public MyConstructor(int a, int b){
  b = a;
  c = b;
}

这是合法的。它编译。它可能没有达到你想要的效果。添加
这个
可以确保你不会意外地隐藏一些你不想隐藏的东西。

这只是惯例,有一些优点和缺点

如果不使用IDE,此检查非常有用。它可以帮助代码审查消除代码引用的歧义,提高可读性,防止与局部变量或参数访问混淆


另一方面,大多数编码风格不建议在任何地方都使用
this
,因为这可能被认为是不必要的、冗余的和过于冗长的。

在条目标题的正下方进行了解释。检查对当前对象的实例变量和方法的引用是否显式采用“this.varName”或“this.methodName(args)”的形式,以及当“this.”不存在时,这些引用是否不依赖于默认行为。Thomas,是的,总是在构造函数中,与我一起工作的团队中的每个人都使用了此选项。问题可能是,如果这是一种推荐的做法,为什么在类方法中很少使用它,特别是在调用内部私有方法(如callPrivateMethod())而不是this.callPrivateMethod()时