DEV Community

Oscar olg
Oscar olg

Posted on

Código Limpio: 5 principios para dejar de escribir "código espagueti"

Introducción
¿Alguna vez has regresado a un proyecto después de tres meses y no has entendido absolutamente nada de lo que escribiste? No estás solo. A todos nos ha pasado que, por las prisas, terminamos creando funciones gigantes y archivos interminables.

Hoy vamos a hablar de los principios SOLID, una guía esencial para cualquier desarrollador que quiera pasar de "hacer que funcione" a "crear software profesional".

¿Qué es SOLID?
SOLID es un acrónimo acuñado por Robert C. Martin ("Uncle Bob"). Son cinco reglas que nos ayudan a que nuestro código sea fácil de entender, extender y mantener.

  1. S: Responsabilidad Única (Single Responsibility) La regla: Una clase o función debe tener una, y solo una, razón para cambiar.

Error común: Crear una función que valida un formulario, guarda en la base de datos y envía un email.

Solución: Divide esa función en tres pequeñas funciones independientes.

  1. O: Abierto/Cerrado (Open/Closed) La regla: El software debe estar abierto para su extensión, pero cerrado para su modificación.

Esto significa que deberías poder agregar nuevas funcionalidades sin tener que reescribir el código que ya existe y que ya funciona.

  1. L: Sustitución de Liskov (Liskov Substitution) La regla: Si tienes una clase hija, deberías poder usarla en lugar de la clase padre sin que nada se rompa.

Si Pájaro tiene un método volar(), pero creas una clase Pingüino, ¡ten cuidado! Un pingüino no vuela. Aquí es donde el diseño debe ser preciso.

  1. I: Segregación de Interfaz (Interface Segregation) La regla: Es mejor tener muchas interfaces específicas que una sola interfaz general.

No obligues a una clase a implementar métodos que no necesita. Mantén tus contratos de código "ligeros".

  1. D: Inversión de Dependencias (Dependency Inversion) La regla: Depende de abstracciones, no de clases concretas.

En lugar de que tu lógica dependa directamente de una base de datos específica (como MySQL), haz que dependa de una "interfaz" de base de datos. Así, si mañana cambias a MongoDB, tu lógica principal no cambia.

Conclusión
Aplicar estos principios al principio puede parecer que "escribe más código", pero a largo plazo, te ahorra horas de debugging y frustración. Recuerda: escribimos código para humanos, no solo para máquinas.

¿Cuál de estos principios te parece más difícil de aplicar? ¡Déjame un comentario abajo! 👇

Top comments (0)