Comentarios - Bloques de código

Este post es uno más de la serie "Comentarios - No, no, y no". El listado completo de artículos de la serie se encuentra relacionado al final del post.

Delimitar bloques de código mediante el uso de comentarios es una de las técnicas más usadas por los desarrolladores:

// Calcular coordenadas para mostrar la figura
int x = this.width - this.shape.getWidth() / 2;
int y = this.height - this.shape.getHeight() / 2;
// Fin del cálculo de coordenadas

// Mostrar la figura
Graphics graphics = this.component.getGraphics();
graphics.draw(x, y, this.shape);
// Fin de mostrar la figura

Como cualquier otro comentario, los del ejemplo anterior son completamente innecesarios, y simplemente dejan al descubierto un problema mayor en el código: una necesidad imperiosa de modularizar el fragmento en cuestión. La solución es bien simple: por cada bloque creamos un método. El resultado quedaría de la siguiente manera:

private Point calcularCoordenadas() {
    int x = this.width - this.shape.getWidth() / 2;
    int y = this.height - this.shape.getHeight() / 2;
    return new Point(x, y);
}

private void mostrarFigura(Point coordenadas) {
    Graphics graphics = this.component.getGraphics();
    graphics.draw(point.x, point.y, this.shape);
}

Point coordenadas = calcularCoordenadas();
mostrarFigura(coordenadas);

Podemos decirle adiós a los comentarios ya que dejan de ser necesarios debido a que el código es completamente claro después de la modificación.

Esta técnica de crear métodos para aislar secciones de código y dejar bien clara su función es extremadamente útil para aumentar la claridad. En vez de tener un módulo con 500 líneas ejecutables, podemos dividirlo en varios métodos cuya responsabilidad esté bien delimitada. El resultado final será mucho más claro y flexible.

Respond via Twitter →