Quand on développe en Java et qu'on écrit des méthodes, on a souvent le cas de paramètres ayant des valeurs incorrectes (genre un paramètre nul).
Ce qu'on fait d'ahbitude, c'est une vérification simple :
if(toto==null) {
toto = "toto";
}
C'est laid, hein ?
Et en plus, ça pollue le code.
En me baladant sur internet à la recherche de la solution à un problème compliqué de collection basée sur le hash contenant des éléments mutables, je suis tombé sur cet article : mutable entries in a collection qui m'a mené à celui-ci (beaucoup plus intéressant) : RuntimeExceptions and Gurus failing to meditate bon, j'aime bien la GuruFailedToMeditateException, mais ce que j'aime surtout beaucoup, c'est les vérifications de préconditions avec la classe Preconditions. J'aime même tellement ça que je me demande comment je pourrais inclure ça dans mon projet à grands coups d'annotations (pour que ça marche bien et que ça puisse aussi générer de la doc).
Du coup, j'ai commencé à re-jeter un coup d'oeil aux frameworks de programmation par contrat en Java.
- modern-jass a l'air très bien
- Je me demande si on ne peut pas bâtir quelque chose pour ça en utilisant jUnit et son désormais fameux assertThat.
- Et cet article m'explique ce dont je me doutais déja : les assertions sont un premier pas déja satisfaisant, et hamcrest et FEST-assert sont de très bonnes solutions, grâce essentiellement à leurs interfaces "fluentes".
Bref, c'est un sujet assez intéressant, sur lequel je vais essayer de creuser un peu.
Comments [0]