Concepts fondamentaux
Définition :
Évaluer la solution consiste à analyser et valider la réponse obtenue pour s'assurer qu'elle répond correctement au problème posé et qu'elle respecte les critères de qualité définis.
Qualité = (Correctitude + Efficacité + Lisibilité) / 3
Grille d'évaluation :
Correctitude
✓
Efficacité
~
Lisibilité
✓
Robustesse
✗
Critères d'évaluation :
✓ Résultat correct
✓ Temps d'exécution acceptable
✓ Gestion des erreurs
✓ Lisibilité du code
✓ Respect des consignes
✓ Temps d'exécution acceptable
✓ Gestion des erreurs
✓ Lisibilité du code
✓ Respect des consignes
Méthodes d'évaluation
Tests unitaires : Vérifier chaque fonction
Tests d'intégration : Valider l'ensemble
Review : Relecture du code
Comparaison : Avec solution attendue
Aspects à évaluer
Fonctionnel
Performant
Sécurisé
Maintenable
Règle fondamentale :
L'évaluation doit se faire systématiquement avec des jeux de tests variés pour garantir la robustesse de la solution.
Méthodes & Astuces
Processus d'évaluation :
1. Tester avec données valides
2. Tester avec données invalides
3. Vérifier les limites
4. Analyser la performance
5. Contrôler la lisibilité
6. Documenter les résultats
2. Tester avec données invalides
3. Vérifier les limites
4. Analyser la performance
5. Contrôler la lisibilité
6. Documenter les résultats
Testez avec des cas limites
Mesurez les performances
Validez avec plusieurs jeux de données
Équilibrez qualité vs complexité
Revoyez plusieurs fois
📌 L'évaluation est aussi importante que la conception !
# Exemple d'évaluation
def evaluer_solution(solution, donnees_test, resultats_attendus):
score = 0
total = len(donnees_test)
for i, donnee in enumerate(donnees_test):
resultat_obtenu = solution(donnee)
if resultat_obtenu == resultats_attendus[i]:
score += 1
taux_reussite = (score / total) * 100
return f"Taux de réussite: {taux_reussite}%"
# Test
donnees = [2, 5, 10]
attendus = [4, 25, 100]
carre = lambda x: x * x
print(evaluer_solution(carre, donnees, attendus))