Newer
Older
Mathéo Beaudouin
a validé
## Analyse du code produit par ChatGPT par rapport au code attendu :
Mathéo Beaudouin
a validé
Mathéo Beaudouin
a validé
- Le code généré par l'IA a omis d'ajouter les constantes en les déclarant comme `public` et en utilisant `static`.
- Après des tests, nous avons constaté que :
- `const` est effectivement `static` par défaut.
- Si aucun modificateur d'accès n'est précisé pour une variable ou une méthode, celles-ci sont considérées comme `public` par défaut. Il n'y a donc rien à signaler ici.
- Dans le diagramme UML, les attributs `couleur` et `direction` sont indiqués comme étant `protected`. Cependant, dans la première version du code générée et déposée par l'IA, ces attributs ont été déclarés en `private`. On a donc corrigé cette erreur.
Mathéo Beaudouin
a validé
> **Après test de la classe :** tout fonctionne correctement, pas de nouvelle erreur.
Mathéo Beaudouin
a validé
### Pour ArrayPieceSquadro
Mathéo Beaudouin
a validé
- J'avais demandé de ne coder que les méthodes définies dans le schéma UML. L'IA a cependant ajouté les méthodes des deux interfaces qu'elle a redéfinies. Cela peut être vu comme une initiative positive, mais ce n'était pas explicitement demandé.
- Les messages d'erreur des exceptions générées sont en anglais, alors que le projet est spécifiquement en français. Nous avons donc corrigé ceci en mettant les commentaires en français.
Mathéo Beaudouin
a validé
## Pour les tests
- En demandant simplement à ChatGPT de tester la classe `PieceSquadro`, il a utilisé par défaut **PHPUnit**. Il s'agit d'une erreur provenant de mon prompt, car je n'avais pas précisé de tester simplement sans PHPUnit.
- J'ai corrigé cela en modifiant le prompt et en ajoutant une nouvelle classe de test sur la forge, sans utiliser PHPUnit.
- Lorsqu'il m'a redonné une version sans PHPUnit, il a effectivement testé l'ensemble des fonctionnalités, en les organisant dans des méthodes séparées.
- Ces tests ont montré la robustesse de la classe `PieceSquadro`.
- Même constat pour les tests de la classe `ArrayPieceSquadro`.
---
## Pour la PHPDoc
- L'IA n'a pas ajouté de PHPDoc par défaut.
- J'ai donc dû les ajouter manuellement, un par un, aux classes que j'avais déjà écrites.
---
Mathéo Beaudouin
a validé

G. Daryl M. OKOU
a validé
## Plateau Squadro (prompt 1)
Mathéo Beaudouin
a validé
- **Visibilité des constantes non précisées :** elle devrait être `public`.
- RAS, quand la visibilité n'est pas précisée, elle est `public` par défaut.
- **Types des variables d'instances non précisés de même que le retour des fonctions :**
- Évidemment, j'ai oublié de le préciser dans mon prompt.
Mathéo Beaudouin
a validé
- **Getters des lignes et colonnes jouables non faits :**
- ChatGPT est nul ? Probablement prompt pas correctement fait.
Mathéo Beaudouin
a validé
- **Méthodes `toJson`, `fromJson` et `__toString()` non implémentées :**
- ChatGPT est nul ? Probablement prompt pas correct... Sérieusement ?

G. Daryl M. OKOU
a validé
## Action Squadro (prompt 1)
- **Méthode `reculePiece` semble incorrecte :**
- La remise à zéro est censée mettre les pièces se dirigeant vers l'est à l'est, vers l'ouest à l'ouest, ainsi de suite... ce qui n'est pas fait : toutes les pièces est-ouest sont remises à l'ouest et toutes les pièces nord-sud sont remises au nord.
- **Méthode à tester** une fois les tests implémentés.
- **Méthode `gererSautsAdversaires` venue de nulle part.**
- **Méthode `jouePiece` à réécrire** puisqu'elle est censée utiliser `reculePiece` pour déplacer les pièces adversaires conformément aux règles du jeu.

G. Daryl M. OKOU
a validé
## Prompt 2
- **Prompt** : j'ai demandé à ChatGPT de corriger les codes de Plateau et Action en s'assurant que les diagrammes UML et les instructions soient respectées
- **résultat :**
- Les fonctions non implémentées le sont maintenant.
- Les paramètres des fonctions et leurs retours sont typés.
- Je crois que je corrigerai reculePièce et jouePièce à la main.