Implémenter une tâche pour le raccourcisseur de liens
Suivez ces étapes dans l'ordre. Arrêtez-vous et demandez si la tâche est floue ou nécessite quelque chose listé sous "Demander à une personne avant" dans AGENTS.md.
-
Lire. Ouvrez
AGENTS.md, la tâche choisie dansdocs/TASKS.md, ettests/AGENTS.md. Ne travaillez que sur cette seule tâche. -
Inspecter. Lisez
main.py(la table,encode(), le modèle de requête et les deux routes) ettests/test_main.py. Notez tout ce avec quoi la tâche interagit, par exemple comment les codes sont générés ou comment la base de données est partagée entre les exécutions. -
Énoncer le plan. Avant de modifier, écrivez :
- le comportement attendu, y compris les codes de statut et les corps de réponse pour le succès et chaque échec ;
- les fichiers que vous allez modifier ;
- les cas limites (entrée vide ou étrange, collisions avec des codes existants, valeurs qui se répètent).
-
Écrire un test qui échoue. Ajoutez des tests comportementaux dans
tests/test_main.pyen suivanttests/AGENTS.md: au moins un cas de succès et un cas d'échec. Exécutez-les et confirmez qu'ils échouent pour la bonne raison (la fonctionnalité est manquante, pas une faute de frappe) :pytest tests/test_main.py -k <nom_du_nouveau_test> -
Implémenter le plus petit changement dans
main.pyqui fait passer les tests. Préservez le comportement existant et les formes de réponse. Si la table nécessite une nouvelle colonne, ajoutez-la de manière à ce qu'unelinks.dbexistante fonctionne toujours (ou expliquez pourquoi elle doit être recréée). -
Tout exécuter.
pytestTous les tests originaux et nouveaux doivent passer. Corrigez et relancez jusqu'à ce qu'ils passent.
-
Résumer sous cette forme :
Tâche : Comportement : Fichiers modifiés : Tests ajoutés : Résultat pytest : Risques restants :