Ir al contenido

Comentarios: Un desodorante para disimular los malos olores del código

·274 palabras·2 mins
Programación
Alejandro Duarte
Autor
Alejandro Duarte
Alejandro Duarte es Ingeniero de Software, escritor, Ingeniero de Relaciones con Desarrolladores en MariaDB y consultor en desarrollo de software. Ha programado computadores desde mediados de los 90s. Comenzando con BASIC, Alejandro transitó a C, C++ y Java durante sus años académicos en la Universidad Nacional de Colombia. Se mudó primero al Reino Unido y luego a Finlandia para profundizar su participación en la industria del código abierto. Alejandro es reconocido en círculos de Java y MariaDB.

Nota: Traducido de la versión original en Inglés.

Camiseta divertida para desarrolladores

No me malinterpreten. Los comentarios son útiles y no todos tienen el propósito olfativo de la famosa analogía que estoy usando en el título de este artículo. Entonces, ¿qué tiene de malo los comentarios que los programadores están dispuestos a incluso vestir una camiseta sobre este oloroso asunto? Digamos que tenemos este fragante método:

nastyMethod() {
  // conectar a la base de datos
  ... Código para conectar a la base de datos ...

  // crear configuración predeterminada
  ... Código para crear la configuración predeterminada ...

  // cargar configuración
  ... Código para cargar la configuración ...

  ... y más, y más, y aún más de esto...
}

El problema aquí es que los comentarios están diciendo lo que el código está haciendo. Los comentarios deberían decir POR QUÉ el código está haciendo algo, no QUÉ está haciendo el código. Además, esto típicamente lleva al anti-patrón Método Largo poniendo en riesgo dos principios básicos de diseño orientado a objetos: Principio de Segregación de Interfaces y Principio de Responsabilidad Única por decir lo menos.

Haz que tu código se explique por sí mismo:

betterMethod() {
  connectToDatabase();
  createDefaultConfiguration();
  loadConfiguration();
}

connectToDatabase() {
  ... Código para conectar a la base de datos ...
}

createDefaultConfiguration() {
  ... Código para crear la configuración predeterminada ...
}

loadConfiguration() {
  ... Código para cargar la configuración ...
}

Podrías argumentar “este método de extraer a método llevará a clases con demasiados métodos, haciéndolos difíciles de entender”. Bueno, usa la refactorización Extraer Clase si llegas a ese punto. Recuerda: Los programas orientados a objetos que viven mejor y más tiempo son aquellos con métodos cortos.

¿Te gustó este artículo? Puedo ayudar a tu equipo a implementar soluciones similares. Contáctame para saber más.

Relacionados

Comentando rápidamente (on-off)
·125 palabras·1 min
Programación
Un truco rápido para comentar y descomentar código de manera rápida.
Líneas vacías y semántica en código fuente
·542 palabras·3 mins
Programación
La importancia de las líneas blancas en la legibilidad y semántica del código fuente.
Sorteo de libros: Gana una copia gratuita del libro "Vaadin 7 UI Design By Example" - ¡Solo comentando!
·258 palabras·2 mins
Vaadin Noticias
Participa en el concurso para ganar una copia gratuita del libro “Vaadin 7 UI Design By Example” comentando en esta publicación.