Hay muchas buenas respuestas, pero hay otra razón muy pequeña para poner en thistodas partes. Si ha intentado abrir sus códigos fuente desde un editor de texto normal (por ejemplo, un bloc de notas, etc.), el uso thishará que sea mucho más claro de leer.
Imagina esto:
public class Hello {
private String foo;
// Some 10k lines of codes
private String getStringFromSomewhere() {
// ....
}
// More codes
public class World {
private String bar;
// Another 10k lines of codes
public void doSomething() {
// More codes
foo = "FOO";
// More codes
String s = getStringFromSomewhere();
// More codes
bar = s;
}
}
}
Esto es muy claro para leer con cualquier IDE moderno, pero será una pesadilla total para leer con un editor de texto normal.
Te costará descubrir dónde fooreside, hasta que uses la función "buscar" del editor. Entonces gritarás getStringFromSomewhere()por la misma razón. Por último, después de que hayas olvidado lo que ses, eso bar = ste dará el golpe final.
Compáralo con esto:
public void doSomething() {
// More codes
Hello.this.foo = "FOO";
// More codes
String s = Hello.this.getStringFromSomewhere();
// More codes
this.bar = s;
}
- Sabes que
fooes una variable declarada en clase externa Hello.
- Sabes que también
getStringFromSomewhere()es un método declarado en la clase externa.
- Sabes que
barpertenece a la Worldclase, y ses una variable local declarada en ese método.
Por supuesto, cada vez que diseñas algo, creas reglas. Así, mientras que el diseño de su API o proyecto, si sus reglas incluyen "si alguien abre todos estos códigos fuente con un bloc de notas, él o ella le debe disparar / a sí misma en la cabeza", entonces usted está totalmente bien no hacer esto .