PHP

Mejoras en la API de Reclutador de Devlog-ist/landing: Refactorización y Cumplimiento de Estándares

El proyecto devlog-ist/landing se centra en la creación de una plataforma de blogs para desarrolladores. Recientemente, se han realizado mejoras significativas en la API de reclutador, enfocándose en la refactorización del código para mejorar la calidad, el cumplimiento de estándares y la corrección de errores detectados por PHPStan.

Estandarización y Tipado Estricto

Uno de los principales objetivos fue asegurar que el código cumpla con los estándares de codificación y las mejores prácticas. Esto incluyó la adición de type annotations (anotaciones de tipo) exhaustivas para lograr el cumplimiento con PHPStan, una herramienta de análisis estático de código PHP que ayuda a detectar errores antes de la ejecución. Esto no solo mejora la legibilidad del código, sino que también reduce la probabilidad de errores en tiempo de ejecución.

<?php

/**
 * @param RecommendationStatus $status
 * @return void
 */
public function setRecommendationStatus(RecommendationStatus $status): void
{
    $this->recommendationStatus = $status;
}

Uso de Enums para el Estado de Recomendación

Para mejorar la claridad y la mantenibilidad del código, se introdujo un enum para representar el estado de recomendación. Los enums ofrecen una forma robusta y auto-documentada de definir un conjunto limitado de valores posibles, reduciendo errores causados por valores incorrectos o inconsistentes.

enum RecommendationStatus
{
    case PENDING;
    case APPROVED;
    case REJECTED;
}

Eliminación de Código Obsoleto y Mejora en la Seguridad

Se eliminó la función rateLimitPeriodMinutes que ya no se utilizaba, simplificando el código y reduciendo la superficie de posibles errores. Además, se reforzaron los controles de autorización utilizando tokenCan() para verificar las capacidades de los tokens de Sanctum, garantizando que solo los usuarios autorizados puedan acceder a ciertas funcionalidades.

<?php

// Antes:
// if ($user->token()->abilities()->contains('recruiter')) {
// Después:
if ($user->tokenCan('recruiter')) {
    //...
}

Conclusión

Las mejoras implementadas en la API de reclutador no solo resuelven problemas específicos, sino que también contribuyen a un código más limpio, seguro y mantenible. Al adoptar enums, eliminar código redundante y fortalecer los controles de autorización, el proyecto avanza hacia una mayor robustez y confiabilidad. Se recomienda revisar el código y considerar la adopción de estas prácticas en otras áreas del proyecto para garantizar la consistencia y la calidad en todo el codebase.

Mejoras en la API de Reclutador de Devlog-ist/landing: Refactorización y Cumplimiento de Estándares
Gerardo Ruiz

Gerardo Ruiz

Author

Share: