Le mercredi 1er février, avait lieu la demie-finale de Code Story chez Xebia. La finale est prévue le 14 février au Paris JUG. 28 personnes en tout, pour concourir pendant 2 heures sur un exercice de programmation bien sympathique, préparé par David et Jean-Laurent.
Les organisateurs ouvrent la soirée par un petit mot, sur les sélections, et sur l’objectif de la soirée.
Chacun s’est préparé avec son binôme. Clavier externe, 2eme souris, un ou deux ordinateurs, tout est très sérieux. Des équipes venues de l’est de la France, du Luxembourg et de Suisse, il y avait du monde.
Remrquez les teeshirts personnalisés des équipes du GenevaJUG et d’inTech :
Quelques chiffres : il y avait 2 femmes et 26 hommes. Sur les 14 binômes, 12 utilisent Eclipse, 2 IDEA IntelliJ. Côté OS, 8 Mac, 6 Windows et 2 Linux. Le binôme des frères Le Merdy est original puisque ce sont de vrais jumeaux. Un autre binôme original : Jean-François et Henri, originaires du Québec, anciens binômes lorsqu’ils étaient étudiants. J’ai appris que le Québec avait un clavier QWERTY spécial. Pas mal de personnes de Vidal Software, Valtech et 4 personnes de la société InTech, avec entre autre Fabrice Croiseaux, directeur associé chez InTech S.A dans l’équipe bleue.
Pour départager les concurrents, David et Jean-Laurent ont préparé un Kata, exercice de programmation. L’objectif de l’exercice est d’ajouter une nouvelle fonctionnalité et de développer une application Web. Premier point : certains binômes n’ont pas réussi à développer l’application Web en 2 heures.
L’exercice est sympa, vous pouvez le faire en lisant les instructions sur la page Github de David Gageot.
Pendant les 2 heures, nous avons vu des idées originales, ou plus farfelues. Clairement, la maîtrise des outils fait la différence. Bien connaître easyMock (dont Henri Tremblay, l’un des concurrents ce soir là est l’un des développeurs), JUnit, moreUnit, FestAssert… Mais attention à ne pas tomber dans le piège des tests, et de passer 2 heures à écrire des tests. Il était important de rajouter la nouvelle fonctionnalité et de construire l’application Web.
Le code du projet est volontairement mal écrit, afin d’évaluer la capacité du binôme à refactorer celui-ci. Cependant, il était interdit de toucher à la classe Item. Vous pouviez la sous-classer, mais sans y toucher. On a vu du Decorator Pattern, du Value Object, des choses avec des Listeners… L’imagination des concurrents a été fertile.
Au bout de 20mn, certains ont fait le choix d’écrire toute une batterie de tests pour reprendre les règles de gestion, et pour pouvoir ré-écrire la classe Inn. D’autres se sont dit que le code marchait (même s’il était bien moche) et ont attaqué par la WebApp. Ici nous avons vu quand même qu’un développeur Java n’est pas un gars qui fait du Web. Il y a ceux qui écrivent à la main un serveur Web (qui marchait très bien), ceux qui ont cloné SimpleHttp à partir du projet de David Gageot. J’ai vu un projet avec Play2 et Java, avec au final une belle application basée sur Twitter Bootstrap.
Twitter Bootstrap est un projet simple, un ensemble de feuilles de style, que vous pouvez ajouter en quelques instants à votre web-app. Le bootstrap donne les bases d’une application Web correcte, comme on en fait en 2012. Le système de grille ou les styles des tableaux permettent de construire une application Web qui ressemble à quelque chose. Niveau HTML, j’ai vu des trucs pas très beaux. On a vraiment l’impression que les développeurs Javas ne connaissent pas HTML. Je referme la parenthèse.
Plus la soirée avance, plus la tension est palpable. Des binômes discutent ardemment sur des points précis du cahier des charges… D’autres se plaignent de la lenteur de leur IDE… David et Jean-Laurent passent voir chacun des groupes, de table en table.
Vers 22h00, le concours est terminé. Chacun des binômes raconte son expérience, ce qu’il a fait et ce qu’il n’a pas fait. Le code de chaque équipe est relevé, et le lendemain, ce sera finalement 5 équipes sur les 14, qui seront retenues. Voir la liste des finalistes sur le site de Code-Story.
Rendez-vous le mardi 14 février pour connaître enfin le nom du binôme qui accompagnera David et Jean-Laurent à la conférence « Devoxx France » fin avril…
0 no like
Merci aux organisateurs pour cette rencontre fun et sympa. Quand au début, l’un d’eux a sorti « On veut voir du code propre et beau », je me suis demandé si l’objectif était bien de coder en Java (troll). Et puis, j’ai vu et surtout entendu de belles choses : j’ai été forcé d’admettre que la méthodologie et l’esprit d’équipe l’emportent sur le langage, même si je n’ai pas pu m’empêcher de retenter l’exercice en Python le Week-end dernier afin de me rassurer.
Une expérience à retenter avec grand plaisir.