Avis des résolutions du kata Bank account.
https://github.com/rootman1985/KataBank.git
Soumis le 13/11/2017.
Les (+)
- Architecture en couches
- Interface de service
- Abstraction des opérations bancaires
- Contrôle des entrées, Exceptions métier
Les (-)
- Pas de tests unitaires
- Account: les opérations devraient être un SortedSet
- Operation: getOperationDate() retourne un String
- Operation: est un ValueObject de l'Entity Account. Relation Operation -> Account pas terrible
- Operation: nommage des propriétés (idOperation, operationDate)
- Préfixer les interfaces avec un
I
n'est pas une convention Java. - ActionBankImpl : Les méthodes operationsHistoryForCustomer() et operationsHistoryForAccount() devraient retourner un SortedSet d'opérations bancaires plutôt que de se contentant d'effectuer un print
Soumis le 13/11/2017.
Les (+)
- Tests unitaires, utilisation de mocks
- DDD
- Clean architecture
- Clean code
- CQRS
- Event Sourcing
BankAccount: Aggregate Méthodes BankAccount deposit et withdraw: Command Méthode print: Query TransactionHolder: EventStore Transaction: Event
Les (-)
https://github.com/Houssem911/myKata
Soumis le 22/11/2017.
Les (+)
- Présence de tests
- Architecture en couches
- Contrôle des entrées, Exceptions métier
- Langage omniprésent
- Builder facilitant la création des objets
- Formatage des données
Les (-)
- Fonctionnalités non réclamées (Montants min/max de dépôt/retrait)
- Méthodes print pas testées (pas testables)
- Tests nécessitant un ordre d'exécution
- Utilité du service AccountLineService discutable
Soumis le 28/11/2017.
Les (+)
- Présence de tests
- Clean architecture
- DDD, Clean code
- CQRS
- Contrôle des entrées, exception métier
Les (-)
- Méthode print non testée
- Manque de formatage (Pas d'alignement, format des dates)