SOLID: No seas el programador que solo 'plancha' funciones 🛑

Published: (February 21, 2026 at 08:41 PM EST)
2 min read
Source: Dev.to

Source: Dev.to

Cover image for SOLID: No seas el programador que solo

¿Alguna vez has sentido ese miedo de mover una sola línea de código porque sabes que algo en la otra punta del sistema se va a romper? A mí me pasó.

Durante mucho tiempo, me limité a seguir herencias de códigos mal diseñados; simplemente “planchaba” una funcionalidad tras otra sobre lo que ya existía, sin mejorar nada, por miedo o por falta de tiempo. Pero aprendí que programar no es solo que funcione hoy, sino que sea mantenible mañana.

S: Single Responsibility (Responsabilidad Única)

Parece obvio: una clase debe tener una sola razón para existir. Solemos aceptar que una clase User no debería procesar pagos ni enviar emails masivos, ¿verdad? Pero caemos en trampas más sutiles. A veces le metemos la validación de contraseñas, la lógica del login y hasta el manejo de la sesión.

El resultado: una clase que sabe demasiado y que se vuelve imposible de testear o cambiar. Un usuario es una entidad, no un orquestador de seguridad.

El cambio en el código

En lugar de tener una clase “Navaja Suiza”, separamos los datos de la lógica de infraestructura:

// La Entidad: Solo representa qué es un usuario y sus datos esenciales
class Usuario {
    public string $email;
    public string $passwordHash; 
}
// El Servicio: Se encarga de la lógica de autenticación
class AuthService {
    private $hasher;

    public function __construct(PasswordHasher $hasher) {
        $this->hasher = $hasher;
    }

    public function login(Usuario $user, string $password) {
        if ($this->hasher->verify($password, $user->passwordHash)) {
            // Lógica para iniciar sesión...
        }
    }
}

No solo escribas código, haz ingeniería

Los invito a que dejemos de ser los que solo “siguen planchando” código sobre código. Hagamos el cambio: cuando encuentres una función mal hecha, no solo añadas la tuya encima. Refactoriza, limpia y aplica SRP (Single Responsibility Principle).

Deja el código más bello y legible de como lo encontraste. Ten por seguro que el siguiente desarrollador que lea tu trabajo dirá: “Gracias”.

¿Te ha pasado algo similar con el código legacy? ¡Te leo en los comentarios! 👇

0 views
Back to Blog

Related posts

Read more »

How to Think Like a Data Engineer

Data Engineering Principles Over Tools !Data flowing through a system of interconnected pipeline stages from sources to consumershttps://media2.dev.to/dynamic/...