Clean Code en Java: principios y ejemplos para principiantes

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Clean Code en Java: principios y ejemplos para principiantes



Cada desarrollador, al comenzar su camino en Java, tarde o temprano se enfrenta a una situación: el código funciona, pero entenderlo después de una semana ya es imposible. Este es el problema clásico del código "sucio". Clean Code (código limpio) no es solo un término de moda, sino un conjunto de prácticas que hacen que tu programa sea comprensible, fácil de mantener y escalable. En este artículo, analizaremos los principios básicos de Clean Code en Java para principiantes con ejemplos claros.



¿Por qué es importante el código limpio?



En el desarrollo real, el código se lee con mucha más frecuencia de la que se escribe. Volverás a tus proyectos antiguos, trabajarás en equipo o le pasarás el código a colegas. El código mal escrito ralentiza el desarrollo, aumenta la cantidad de errores y desmotiva. Clean Code ahorra tiempo y nervios. Analicemos los principios clave.



1. Nombres claros: di lo que haces



Los nombres de variables, métodos y clases deben responder a la pregunta "¿qué es esto?" o "¿qué hace?". No ahorres caracteres: usa nombres significativos.



Ejemplo malo (nombres poco claros):

int d; // elapsed time in daysList<String> lst = new ArrayList<>();public void prc() { ... }


Ejemplo bueno (Clean Code):

int elapsedTimeInDays;List<String> customerNames = new ArrayList<>();public void processPayment() { ... }


Consejo: Evita nombres de una sola letra (excepto para contadores de bucles). El nombre debe revelar la intención. En lugar de list, usa activeUsers o orderIds.



2. Funciones pequeñas: una tarea — una función



Las funciones deben hacer solo una cosa y hacerla bien. Los métodos largos son difíciles de probar y entender. Apunta a una longitud de no más de 20–30 líneas.



Ejemplo malo (la función lo hace todo):

public void processOrder(Order order) {    // validación    if (order.getTotal() <= 0) {        throw new IllegalArgumentException("Invalid order");    }    // guardar en la base de datos    saveToDatabase(order);    // enviar correo electrónico    sendEmail(order.getCustomerEmail(), "Order confirmed");    // actualizar inventario    updateInventory(order);}


Ejemplo bueno (división en funciones pequeñas):

public void processOrder(Order order) {    validateOrder(order);    saveOrder(order);    notifyCustomer(order);    updateStock(order);}

private void validateOrder(Order order) { if (order.getTotal() <= 0) { throw new IllegalArgumentException("Invalid order total"); }}

private void notifyCustomer(Order order) { sendEmail(order.getCustomerEmail(), "Order confirmed");}


Ahora cada función tiene una responsabilidad clara. El código se ha vuelto autodocumentado.



3. Evita la duplicación: principio DRY



El principio DRY (Don't Repeat Yourself) establece: cada parte del conocimiento debe tener una representación única en el sistema. Si copias código, estás creando problemas de mantenimiento.



Ejemplo malo (duplicación):

public double calculateDiscountForRegularCustomer(double price) {    return price * 0.9; // 10% de descuento}

public double calculateDiscountForVipCustomer(double price) { return price * 0.8; // 20% de descuento}


Ejemplo bueno (generalización):

public double calculateDiscount(double price, CustomerType type) {    double discountRate = getDiscountRate(type);    return price * discountRate;}

private double getDiscountRate(CustomerType type) { switch (type) { case REGULAR: return 0.9; case VIP: return 0.8; default: return 1.0; }}


Ahora el cambio en la lógica de descuento ocurre en un solo lugar.



4. Formato y comentarios: limpieza visual



El código debe ser ac

Blogs

Book Recommendations