Je tendrais plutot vers la solution de Guillaume, en effet, l'exemple
propose ici est je pense un exemple de ce que je ne ferais pas en
programmation par contrat. Tu employes une precondition pour gerer un cas
que ton application devrait gerer elle meme dans ta logique, et il ne
devrait pas y avoir d'assertion.

Si l'utilisateur de ton application bancaire essaye de faire un debit sur
son compte alors qu'il est au dessus du decouvert autorise, alors il ne
devrait pas y avoir d'assertion, mais un message lui expliquant le probleme.


> en etant vachement original, imaginons un milieu banacaire avec des 
> comptes bancaires:
> class Account{
> public void debit(int montant)
> }
> 
> tu peux ajouter une notion de precondition
>
> avec un truc du genre
> 
> @pre solde-montant>decouvert_autorise



Répondre à