Archives pour la catégorie TDD

Buzz : le puzzle d’entrainement du concours du meilleur dév de France 2014

A l’occasion du concours du Meilleur Développeur de France 2014, le site de l’événement permettait de se familiariser avec l’interface en proposant un puzzle d’entrainement. Dans ce puzzle, le système choisi deux entiers « n » et « p » non multiples. Le candidat reçoit une String contenant les chiffres de 1 à 100 séparés par des espaces, où les multiples de « n » et de « p » sont remplacés par le mot « Buzz ». Voici donc une proposition de réponse.

Lire la suite

Le Multirator

Lors du dernier concours du meilleur « Meilleur Développeur de France », dont on vous pouvez retrouver un résumé ici, une des épreuves consistait à programmer un Multirator. Ce terme est une invention personnelle pour désigner un Iterator piochant ses éléments suivants (next) dans une liste d’Iterators. Dans le concours le Multirator devait toujours choisir la plus petite valeur disponible.

Jusqu’à aujourd’hui, le besoin d’une telle fonctionnalité ne s’est jamais fait sentir dans mes programmes. Or j’en ai justement besoin aujourd’hui. Et au lieux de programmer un Multirator de mon coté et de le garder pour moi seul, je me propose de vous présenter ma démarche.

Lire la suite

Représentation d’une liste en String

A l’occasion d’un entretient, on m’a proposé de développer une méthode simple. L’idée n’était pas tant de coder la fonctionnalité que d’expliquer le raisonnement. Dans la suite, je ne vais pas vous expliquer comment bien programmer, en partant des tests, car j’ai déjà fais un billet intitulé « Kata Digital Romain » à ce sujet. A la place, je vais vous proposer plusieurs solutions qui me semble intéressantes, en Java standard, à l’aide de Guava, ou encore grâce à une approche fonctionnelle.

Lire la suite

Kata Digital Romain

Pour m’amuser, je me suis intéressé à un exercice qu’on demande souvent en entretien pour tester les réflexes des candidats : la conversion d’un nombre dans sa représentation romaine, en Java.

Le sujet de cet exercice est relativement simple. On prend un nombre et on doit calculer sa représentation romaine.

Pour rappel, la représentation romaine se base sur une série de lettres : I (1), V (5), X (10), L (50), C (100), D (500) et M (1000). Pour le chiffre avant l’unité, on a une règle spéciale : IV (4), IX (9), XL (40), etc. Ainsi, on écrira « CCCLXIX » pour « 369 » et « MMDCCLI » pour « 2751 »…

Lire la suite

Tests unitaires de la calculette des timbres Marianne de Cap Rikiki

Le module « Marimod », développé par la société « Cap Rikiki », gère une grosse partie des opérations réalisables avec les timbres de la série « Marianne ». Il fournit en particulier une calculette permettant de déterminer les timbres à utiliser pour un montant donné.

En plus de livrer ce module à son client, Cap Rikiki livre des tests unitaires pour bien montrer que cela fonctionne. C’est d’autant plus simple pour Cap Rikiki que la méthode 3T (Tests en Trois Temps), inspirée des TDD (Test Driver Developement) a été utilisée sur le projet.

Lire la suite

Pour le fun : blanc noir gris

Pour le temps de faire une petite pause dans ma journée, je vous propose une solution à un problème simple. Il s’agit de programmer une méthode qui prend un entier N en entrée. Si N est un multiple de 3, ça renvoie « blanc ». Si N est un multiple de 5, ça renvoie « noir ». Si N est un multiple de 3 et de 5, ça renvoie « gris ». Enfin, dans tous les autres cas, ça renvoie trois petits points.

Lire la suite