Avec votre binôme commencez par lister les tests que vous allez faire avec les intentions associés.
## Étape 1
Développer ce simulateur en binôme et en TDD ping pong.
...
...
@@ -69,3 +73,32 @@ Rendre les choses paramétrable.
## Étape 3
* Si un poisson est à moins de X cases d'un requin, il sait qu'il est à porté d'un prédateur, son prochain mouvement sera dans la direction la plus opposée possible. Comme les poissons et les requins ne se déplacent qu'à angle droit, les calcules se feront en distances de Manhattan.
# À propos de la phase de restructuration
Pendant la phase de restructuration, vous vous assurerez que le code de votre binôme respecte bien l'ensemble des règles de clean code. À savoir :
* SOLID,
* Single responsability
* Open/closed
* Liskov substitution
* Interface segregation
* Dependency inversion
* Loi de Demeter.
* Sans répétition (pas de copier / coller)
* Simple à comprendre pour le relecteur.
* lisible :
* moins de 8 lignes par méthodes
* des noms de variables explicites
* des noms de méthodes explicites
* des noms de classe ayant du sens pour l'utilisateur du logiciel
* pas de "Magic Number"
* pas de code qui refait ce qui existe déjà dans l'API java
* des noms de méthodes en kamelCase
* des noms de méthodes de test en snake_case
* des noms de méthode de test qui commencent par `should` ou `doit`
* Du code bien rangé :
* règles maven
* un package pour le coeur métier sans aucune dépendance