Aller au contenu principal

Refactoring et amélioration de code existant

Transformer du code legacy en code moderne

Le refactoring est l’une des tâches les plus chronophages en développement. Codex transforme des heures de travail manuel en quelques minutes, tout en préservant le comportement existant.

Refactoring de structure

Demandez à Codex de réorganiser votre code sans changer son comportement :

"Refactore src/utils/helpers.ts : ce fichier fait 800 lignes. 
Sépare-le en modules thématiques dans src/utils/ (string.ts, 
date.ts, validation.ts, formatting.ts). Mets à jour tous les 
imports dans le projet."

C’est une tâche que Codex gère particulièrement bien : il identifie les fonctions, les regroupe par thème, crée les nouveaux fichiers, et met à jour tous les imports dans le projet. Le résultat est vérifiable : si les tests passent toujours, le refactoring est correct.

Modernisation de code

Codex excelle dans la mise à jour de code vers des patterns modernes :

"Migre tous les callbacks de src/lib/database.ts vers 
async/await. Conserve la gestion d'erreurs existante."

Avant :

function getUser(id, callback) {
  db.query("SELECT * FROM users WHERE id = ?", [id], 
    (err, rows) => {
      if (err) return callback(err);
      callback(null, rows[0]);
    });
}

Après (par Codex) :

async function getUser(id: string): Promise<User> {
  const rows = await db.query(
    "SELECT * FROM users WHERE id = ?", 
    [id]
  );
  return rows[0];
}

Codex ajoute les types TypeScript, remplace les callbacks par async/await, et simplifie la gestion d’erreurs — tout en gardant la même logique métier.

Amélioration de la qualité

Demandez des améliorations ciblées :

"Dans src/api/, améliore la gestion d'erreurs :
- Remplace les try/catch génériques par des erreurs typées
- Ajoute des codes d'erreur HTTP appropriés
- Ajoute le logging avec le contexte de la requête
- Assure-toi que les erreurs Prisma sont mappées correctement"

Refactoring par pattern

Vous pouvez demander à Codex d’appliquer un pattern uniformément :

"Tous les composants React dans src/components/ qui utilisent 
useState pour des formulaires doivent être migrés vers 
react-hook-form. Applique le même pattern que 
src/components/LoginForm.tsx qui est déjà migré."

Codex lit le composant de référence, comprend le pattern, et l’applique à tous les autres composants concernés. Il gère les cas particuliers (validation custom, effets de bord) de manière intelligente.

Vérifier le refactoring

Codex exécute les tests après chaque refactoring. Mais vous devez aussi vérifier :

Vérification Commande Ce qu'elle vérifie
Tests unitaires npm run test Comportement préservé
Types npx tsc --noEmit Pas d'erreurs de typage
Linting npm run lint Conventions respectées
Build npm run build Production fonctionnelle

Ajoutez ces commandes dans votre AGENTS.md pour que Codex les exécute automatiquement après chaque modification.

Points clés à retenir

  • Le refactoring est la tâche où Codex apporte le plus de gain de temps
  • Référencez un fichier modèle pour guider le pattern de refactoring
  • Codex met à jour les imports et références dans tout le projet
  • Vérifiez toujours avec les tests, le typage et le build après un refactoring
  • Documentez les commandes de vérification dans AGENTS.md