Reglas de Rector para Refactorizar Código PHP

Hace un tiempo me tocó uno de esos desafíos que ningún developer olvida: fusionar el código de dos forks diferentes de una app enorme de PHP en un único repositorio funcional. Manualmente, el nivel de refactorización hubiera sido imposible. Por suerte descubrí Rector, lo puse a prueba y… ¡se volvió mi herramienta favorita! Acá te cuento cómo me salvó y cómo sigo usándolo para que el código converja (y no explote).

Mis 5 transformaciones automáticas favoritas con Rector

Durante la convergencia de los forks y revisando la comunidad, estas son las que realmente suman valor y ahorro de tiempo:

Modernización de arrays:

// Antes
$array = array(1, 2, 3);

// Después
$array = [1, 2, 3];

Actualización de constructores viejos:

// Antes
function MiClase() { /* ... */ }

// Después
function __construct() { /* ... */ }

Sustitución de funciones obsoletas:

// Antes
while (list($clave, $valor) = each($matriz)) { echo "$clave => $valor"; }

// Después
foreach ($matriz as $clave => $valor) { echo "$clave => $valor"; }

Tipado estricto en parámetros y retorno:

// Antes
function add($a, $b) { return $a + $b; }

// Después
function add(int $a, int $b): int { return $a + $b; }

Uso de atributos modernos en vez de anotaciones:

// Antes
/**
 * @ORM\Entity
 * @ORM\Table(name="users")
 */
class Usuario {...}

// Después
#[ORM\Entity]
#[ORM\Table(name: "users")]
class Usuario {...}

Por qué recomiendo Rector

Me evitó horas de revisión manual y los típicos errores que aparecen cuando refactorizás rápido o con un equipo grande. Integrarlo fue simple, lo hice tanto en proyectos chicos como en la convergencia de los forks (con miles de líneas) y siempre cumple.

Recursos y lecturas recomendadas

Deja tu comentario

Tu dirección de email no será publicada. Los campos obligatorios están marcados con *