Contenido


Unidad 12: Cómo escribir buen código de Java

Aspire a escribir código de Java limpio y de fácil mantenimiento

Comments

Antes de comenzar

Esta unidad forma parte de la ruta de aprendizaje "Introducción a la programación en Java". Aunque los conceptos que se comentan en las unidades individuales son autónomos por naturaleza, el componente práctico se construye a medida que se progresa a través de las unidades, por lo que, se recomienda que revise los requisitos previos, la configuración y los detalles de la unidad antes de proceder.

Objetivos de la unidad

  • Siga las mejores prácticas para los tamaños de las clases, los tamaños de los métodos y los nombres de los métodos
  • Entienda la importancia de refactorizar
  • Gane consistencia en su estilo de codificación y utilice los comentarios
  • Utilice el registro cronológico incorporado

Mejores prácticas de codificación

Ya está aproximadamente a mitad de camino de esta ruta de aprendizaje. Ya tiene en su bolsillo suficiente sintaxis de Java para escribir programas básicos en Java. Antes de que continúe hacia temas más avanzados, este es un buen momento para aprender algunas de las mejores prácticas de codificación. Continúe leyendo para encontrar algunos consejos esenciales que pueden ayudarle a escribir código Java más limpio y más fácil de mantener.

Mantenga pequeñas las clases

Hasta ahora, usted ha creado algunas clases. Después de generar los pares getter/setter para incluso el pequeño número (según los estándares de una clase Java del mundo real) de atributos, la clase Person tiene 150 líneas de código. Con ese tamaño, Person es una clase pequeña. No es poco frecuente (y es una pena) ver clases que tienen 50 a 100 métodos y mil líneas de código, o más. Algunas clases pueden tener el tamaño porque es necesario, pero muy probablemente necesitan ser refactorizadas. Refactorizar es cambiar el diseño del código existente sin cambiar sus resultados. Se recomienda que siga esta mejor práctica.

En general, una clase representa una entidad conceptual en la aplicación, y el tamaño de la clase debería reflejar sólo la funcionalidad que tiene que hacer, sea lo que sea lo que la entidad tiene que hacer. Haga que sus clases se enfoquen intensamente en hacer un pequeño número de cosas, y que las hagan bien.

Mantenga sólo los métodos que necesita. Si necesita varios métodos ayudantes que hacen esencialmente lo mismo, pero que toman diferentes parámetros (como el método printAudit() ), está bien. Pero, asegúrese de que limita la lista de métodos a lo que necesita, nada más.

Elija cuidadosamente el nombre de los métodos

Un buen patrón de codificación para los nombres de los métodos es el patrón de nombrar métodos intention-revealing (revelando la intención). Este patrón es más fácil de entender con un ejemplo sencillo. ¿Cuál de los siguientes nombres de métodos es más fácil de descifrar de un vistazo?

  • a()
  • calcularInteres()

La respuesta debería ser obvia, aunque, por alguna razón los programadores tienen la tendencia de proporcionar a los métodos (y, de hecho, a las variables) nombres pequeños y abreviados. Está claro que, un nombre ridículamente largo puede ser inapropiado, pero un hombre que transmita lo que hace un método, no tiene por qué ser ridículamente largo. Es posible que seis meses después de escribir mucho código no recuerde lo que tenía que hacer con un método llamado calInt(), pero, obviamente, un método llamado calcularInteres() probablemente calcule los intereses.

Mantenga pequeños los métodos

Los métodos pequeños son tan preferibles como las clases secretas, por razones similares. Lo que intento seguir es mantener el tamaño de un método a una página según la veo en mi pantalla. Esta práctica hace que las clases de mi aplicación se puedan mantener más fácilmente.

Si algún método supera una página, lo refactorizo. Eclipse tiene un maravilloso conjunto de herramientas de refactorización. Normalmente, un método largo contiene subgrupos de funcionalidades apiñados juntos. Tome una de estas funcionalidades y muévala a otro método (llamándolo en consecuencia) y pase los parámetros que necesite.

Límite cada método a un único trabajo. He descubierto que los métodos que sólo hacen una cosa bien normalmente no tienen más de 30 líneas de código.

Refactorizar y la capacidad de escribir el primer código de pruebas son las habilidades más importantes que tienen que aprender los programadores nuevos. Si todo el mundo fuese bueno con ambas, se revolucionaría la industria. Si usted se vuelve bueno con ambas, finalmente producirá código más limpio y aplicaciones más funcionales que muchos de sus colegas.

Utilice comentarios

Utilice comentarios. Las personas que le sigan por detrás (o, incluso, usted seis meses más tarde) se lo agradecerán. Es posible que ya había escuchado el viejo dicho El código que está bien escrito se documenta por sí mismo, así que, ¿quién necesita comentarios? Le daré dos razones de por qué creo que este dicho es falso:

  • La mayor parte del código no está bien escrito.
  • Por más que lo intentemos, probablemente su código no esté tan bien escrito como nos gustaría pensar.

Así que, comente su código. Y punto.

Utilice un estilo coherente

El estilo de codificar es un asunto de preferencia personal, pero le recomiendo que utilice la sintaxis Java estándar para los corchetes:

public static void main(String[] args) {
}

No utilice este estilo:

public static void main(String[] args) {
}

Ni este:

public static void main(String[] args) {
  }

¿Por qué? Bueno, es un estándar, con mucha probabilidad la mayor parte del código con el que se encuentre (es decir, código que usted no escribió pero que le pueden estar pagando para mantener) estará escrito de esa manera. Eclipse le permite definir los estilos del código y dar el formato que quiera a su código. Pero, como usted es nuevo en Java, puede que todavía no tenga un estilo. Así que, le sugiero que adopte el estándar de Java desde el principio.

Utilice el registro cronológico incorporado

Antes de que Java 1.4 introdujera el registro cronológico incorporado, la forma canónica de descubrir lo que el programa estaba haciendo era realizando una llamada como esta al sistema:

public void someMethod() {
  // Hacer algo...
  // Ahora, comunicárselo a todos
  System.out.println("Les comunico a todos esto:");
  // Etc...
}

La facilidad de registro cronológico incorporado del lenguaje Java (consulte la Unidad 5: Su primera clase de Java) es una alternativa mejor. Yo nunca utilizo System.out.println() en mi código, y le sugiero que usted tampoco lo haga. Otra alternativa que es la habitualmente usada biblioteca de reemplazo log4j , que es parte del proyecto Apache umbrella.

Para explorar más a fondo

Java - Sintaxis Básica

Guía de Estilo de Google para Java

Directrices de Codificación en Java

Cómo hablar el lenguaje Java sin acento

Refactorizar: cómo mejorar el diseño del código existente por Martin Fowler y colaboradores.

Effective Java por Joshua Bloch

IBM Code: Procesos de cambio de Java

Anterior: Cómo archivar el código Java Siguiente: Siguientes pasos con objetos


Recursos para Descargar


Comentarios

Inicie Sesión o Regístrese para agregar comentarios.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=tecnologia Java
ArticleID=1062679
ArticleTitle=Unidad 12: Cómo escribir buen código de Java
publish-date=09142016