Capítulo 67. Lee el OpenJDK Diario
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Heinz M. Kabutz
OpenJDK consta de millones de líneas de código Java. Casi todas las clases violan algunas directrices de "código limpio". El mundo real es desordenado. No existe el "código limpio", y nos costará incluso definir qué es.
Los programadores Java experimentados pueden leer código que sigue estilos diferentes. OpenJDK tiene más de mil autores. Aunque hay cierta coherencia en el formato, codifican de formas dispares.
Por ejemplo, considera el método Vector.writeObject:
private void writeObject(java.io.ObjectOutputStream s)
throws java.io.IOException {
final java.io.ObjectOutputStream.PutField fields = s.putFields();
final Object[] data;
synchronized (this) {
fields.put("capacityIncrement", capacityIncrement);
fields.put("elementCount", elementCount);
data = elementData.clone();
}
fields.put("elementData", data);
s.writeFields();
}
¿Por qué el programador marcó las variables locales fields y data como final? No hay ninguna razón por la que esto fuera necesario. Es una decisión de estilo de codificación. Los buenos programadores pueden leer el código igual de bien, tanto si las variables locales son final como si no. No les molesta ni lo uno ni lo otro.
¿Por qué fields.put("elementData", data) está fuera del bloque synchronized ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access