Irving Caamal
cabe aclarar que esa validación también podría ir en un middleware pero ya depende de las cauisticas.
¿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.
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.
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:
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>;
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!
Para este ejemplo en particular las validaciones hechas en los metodos store y update son las mismas, por ello se crea RespositoryRequest para ser usado en ambos metodos.
En muchos otros casos las validaciones no coinciden y el store puede tener cosas que el update no tiene.
En todo caso la recomendacion que nos da laravel es nombrar los request asi:
<u>VerboNombremodeloRequest</u>
Irving Caamal
cabe aclarar que esa validación también podría ir en un middleware pero ya depende de las cauisticas.