Gran pregunta.
La respuesta podría ser "depende".
Si puede dividir una parte no clara en un método o función propia, hágalo, y surgirán otros que deben mantener su código y lo llamarán bendecido. Usa los comentarios de Javadoc para aclarar lo que no está claro. Este puede ser el punto principal de tu amigo.
Aquí hay una cita de un texto comp sci que no puedo recordar (y disculpas al autor):
i++; // increment the counter
El punto del autor en el ejemplo es que el comentario es superfluo. Si ha tomado Programación 101, no necesita el comentario.
Si estás haciendo algo que no es muy obvio para los demás (o posiblemente tú mismo dentro de seis semanas), entonces, por supuesto, comenta lo no tan increíblemente obvio.
Por ejemplo, ¿comprendes inmediatamente?
assertFalse("valid status differs", file1.isValid() ^ file2.isValid);
o puede que te ayuden estos comentarios
// Java XOR operator a^b returns true iff a and b differ.
// If file1 and file2 are both isValid, return false.
// The assertion is that the two versions of isValid should be the same.
Incluso si eres excelente con operadores booleanos y usas XOR regularmente, los comentarios deberían ayudarte y acelerar tu comprensión.
O considere este fragmento para convertir una cadena en un int, usando un Número n, sin comentarios:
...
} else {
Double d = (Double) n;
Long l = d.longValue(n);
int ans = n.intValue();
if (l.equals ((long) ans)) return ans;
throw new ParseException("Field too big to be stored as int");
}
Compare con el código comentado:
...
} else {
// n must be a double
Double d = (Double) n;
Long l = d.longValue(n); // l contains the sInt as a long
int ans = n.intValue(); // was it truncated?
if (l.equals ((long) ans)) return ans; // not truncated -- they were equal as longs
throw new ParseException("Field too big to be stored as int");
}
Admitiré fácilmente que este último fragmento está "muy comentado". Creo que los buenos programadores codificarán para ayudar a comunicarse y aclarar. Err en el lado de los comentarios liberales. Siempre puedes eliminarlos más tarde.