Implémentation User Story
Guide complet pour implémenter une US en respectant TDD et les standards VelesDB.
Phase 0: Vérification Préalable
- •
Confirmer la branche Git:
- •Doit être sur
feature/EPIC-XXX-US-YYY - •Si non: proposer
/start-uspour créer la branche
- •Doit être sur
- •
Vérifier synchronisation avec develop:
- •
git fetch origin develop - •Si retard: proposer
/sync-branch
- •
- •
Lire l'US:
.epics/EPIC-XXX/US-YYY.md - •
Afficher les critères d'acceptation
Phase 1: Tests First (TDD - RED)
Pour CHAQUE critère d'acceptation:
- •
Créer le fichier de test dans
tests/ou module test - •
Écrire le test qui vérifie le critère:
ust #[test] fn test_[fonction]_[scenario]_[resultat]() { // GIVEN: setup // WHEN: action // THEN: assertions } - •
Vérifier que le test ÉCHOUE (RED):
ash cargo test test_nom_du_test
Phase 2: Implémentation (TDD - GREEN)
- •Implémenter le MINIMUM pour faire passer le test
- •Pas de code superflu
- •Pas d'optimisation prématurée
- •Vérifier que le test PASSE:
ash cargo test test_nom_du_test
Phase 3: Refactoring (TDD - REFACTOR)
- •Nettoyer le code tout en gardant les tests verts
- •Appliquer DRY si duplications
- •Vérifier taille fichier (< 500 lignes)
- •Vérifier taille fonction (< 30 lignes)
Phase 4: Validation Qualité
- •Formatter:
cargo fmt - •Linter:
cargo clippy -- -D warnings - •Tests complets:
cargo test --workspace - •Proposer
/fou-furieuxpour validation approfondie
Phase 5: Documentation
- •Documenter les fonctions publiques avec
/// - •Mettre à jour README si nouvelle API
- •Ajouter entrée dans CHANGELOG.md
Phase 6: Commit
- •Commits atomiques (un commit = une modification logique)
- •Format:
feat(scope): description [EPIC-XXX/US-YYY] - •Exécuter
/pre-commitavant push
Phase 7: Finalisation
- •Mettre à jour status US dans progress.md: 🟢 DONE
- •Proposer
/pr-createsi US terminée