Refactorización de Código con Validación en PHP

Clase 20 de 23Curso de Desarrollo en Laravel con Test Driven Development

Resumen

¿Qué es la validación en programación y por qué es importante?

La validación en programación es crucial para garantizar que los datos que ingresan a un sistema cumplan con los criterios establecidos antes de ser procesados. Esto asegura que las aplicaciones funcionen correctamente y minimiza el riesgo de errores y vulnerabilidades de seguridad. La validación puede adaptarse a diferentes contextos, desde verificar que los formularios de entrada no contengan datos inválidos o peligrosos, hasta asegurar que los objetos y las funciones se comporten según lo esperado. Además, mantener un código bien estructurado y validado facilita su mantenimiento y mejora la calidad del software.

¿Cómo mejorar el código mediante la refactorización?

La refactorización del código es una técnica esencial en el desarrollo de software que permite limpiar y optimizar el código sin cambiar su funcionalidad externa. Este proceso se enfoca en reducir la complejidad y mejorar la comprensión del código, al tiempo que se mantiene la seguridad y el funcionamiento óptimo del sistema.

Creación de un archivo de validación externo

En el proceso de refactorización, podemos externalizar la validación a un archivo separado, mejorando así la estructura del código. Este es un proceso simple en el que separas las reglas de validación en un archivo propio para mejorar su localización y mantenimiento.

  1. Crear el archivo: Utiliza herramientas como PHP Artisan:

    php artisan make:request <nombre-de-la-acción-Request>
    

    Esto genera un nuevo archivo especialmente para el manejo de validaciones.

  2. Incorporar las reglas de validación: Dentro del nuevo archivo, define las reglas de validación necesarias. Esto es especialmente útil para grandes conjuntos de validaciones:

    public function rules()
    {
        return [
            'campo' => 'reglas',
            ...
        ];
    }
    

Integración del archivo de validación en el controlador

La integración del nuevo archivo de validación con el controlador es un paso crucial para asegurar un flujo de validación coherente. Sigamos los pasos:

  1. Importar el nuevo request: En el controlador, debes asegurarte de importar el archivo de validación:

    use App\Http\Requests\<nombre-de-la-acción-Request>;
    
  2. Aplicar la validación: Reemplaza las implementaciones anteriores de validaciones con la nueva referencia al Request:

    public function store(<nombre-de-la-acción-Request> $request)
    {
        // Código para manejar el almacenado
    }
    

Esta refactorización no solo organiza mejor el código, sino que también facilita futuras expansiones de las reglas de validación.

¿Qué rol juegan los tests en la refactorización del código?

Los tests son fundamentales para garantizar que el proceso de refactorización no rompa las funcionalidades actuales del software. Permiten modificar el código con la confianza de saber que su funcionalidad se mantiene intacta. La estrategia incluye:

  • Mantener los tests existentes. No alteres los tests antes de refactorizar. Al mantenerlos separados del código principal, puedes ejecutar rápidamente los tests después de las modificaciones para verificar su integridad.

  • Ejecutar y revisar: Ejecuta los tests con frecuencia durante la refactorización:

    php artisan test
    

    Esto se asegurará de que todos los métodos sigan funcionando correctamente incluso después de los cambios en el código.

Al adoptar una práctica sólida de testing y refactorización, lograrás un código más limpio, manejable y confiable. Y recuerda, ¡la práctica y revisión constante son clave para dominar estas técnicas!