Le blog des artisans logiciels toulousains

Ou comment se retrouver entre geeks à Toulouse.

1er Rendez-vous Club De Lecture

Pour ce premier rendez-vous du club de lecture des artisans logiciels toulousains (ALS), nous avions décidé de porter notre attention sur les deux premiers chapitres du livre Refactoring : Improving the Design of Existing Code de Martin Fowler.

Nous avons apprécié la forme particulièrement pédagogique du premier chapitre consistant à illustrer les mécanismes du “refactoring” à l’aide d’un exemple. Exemple fort bien choisi car il n’est ni trop simple pour être un cas d’école, ni trop compliqué au risque de perdre le lecteur. A l’aide de cet exemple, Martin Fowler introduit les notions fondamentales du “refactoring” de façon fort pragmatique. Cet exemple de “refactoring” n’est pas gratuit car il est guidé par la nécessité d’ajouter des fonctionnalités. Il démontre alors que le “refactoring” lui permet d’obtenir une meilleure compréhension du code existant mais surtout d’augmenter sa lisibilité et maintenabilité. Le second chapitre est un peu plus théorique, il aborde les questions suivantes :

  • Pourquoi devrions-nous “refactorer” le code ?
  • Quand devons-nous “refactorer” ?
  • Pourquoi le “refactoring” fonctionne-t-il ?

Peu (voire aucune) critique n’a été formulée à l’encontre du second chapitre. Les débats ont plutôt porté sur la façon d’introduire ou de promouvoir cette pratique sur le lieu de travail.

  • Quels freins peuvent être rencontrés en voulant introduire cette pratique ?
  • Comment convaincre les managers de l’utilité du “refactoring” ?

Personnellement, je pense qu’une partie des réponses se trouve au sein de ce second chapitre. Cela montre un réel intérêt pour cette approche succinctement développée au cours de ces deux chapitres.

Le second chapitre aborde d’autres aspects notamment la possibilité de réaliser des opérations de refactoring lors de la revue de code. Il semble effectivement que ce soit un moment à considérer pour mettre en oeuvre ce type de pratique.

Bien entendu les nombreuses discussions ne se sont pas arrêtées à ces quelques aspects ; voir ci-dessous ce mind mapping synthétisant les sujets abordés. Merci à Ludovic Pradel pour cette carte.

Nous avons donc décidé de poursuivre la lecture de ce livre jusqu’au chapitre 6 inclus pour le second rendez-vous de ce club de lecture.

Le deuxième rendez-vous est fixé au lundi 15 avril à 18h30 au bar la Tireuse, d’ici là bonne lecture à tous.

Coding Dojo Scala #2

Pour ce second coding dojo Scala, nous nous sommes retrouvés à 9 personnes, avec seulement Arnaud et moi qui avions déjà participés à la première édition.

Sur les 9 personnes, seulement 4 personnes avaient déjà fait un peu de Scala, ce qui n’a pas empêché d’avoir des discussions super intéressantes. Nous avions des gens provenant de Python, Ruby, Java, .net et aussi iOS !

Finalement, on a refait le même exercice que la dernière fois, à savoir le KataStringCalculator en mode randori, et ça n’a pas du tout donné le même résultat, comme quoi, les coding dojos, c’est comme les boites de chocolat dans Forrest Gump, on ne sait jamais vraiment ce que ça va donner :-)

Lors de la session d’aujourd’hui, j’ai particulièrement aprécié le fait qu’on a pu voir certaines particularités de Scala (inférence de type, pattern matching, quelques fonctions sur les collections).

Si vous souhaitez vous exercer en Scala, les sources du Kata sont disponibles ici : https://github.com/dojo-toulouse/ScalaKataStringCalculator

Le résultat final est disponible sur la branche “20130304” de Github et je pense que c’est super intéressant d’aller voir les implémentations des deux sessions, tellement c’est différent.

Merci encore à Olivier, Ludovic, Jean-François, Arnaud, Dimitri, les 2 Guillaume, Aboussoror et Frédéric pour leur participation !

Coding Dojo PHP #2

Une douzaine de personnes se sont retrouvées pour un coding dojo en PHP organisé par l’AFUP.

Antoine a animé cet atelier dont le thème était le KataMarsRover. Si vous souhaitez vous aussi vous entraîner en PHP avec ce kata, vous pouvez cloner le repository : https://github.com/dojo-toulouse/kata_mars_rover-php

Le code final du coding dojo est disponible sur la branche “2013.02.18-dojo_afup” sur Github.

Et un grand merci à Tau pour l’accueil !

Coding Dojo Scala #1

Pour ce premier coding dojo en Scala, nous nous sommes retrouvés à 10 personnes, dont à peu près la moitié qui n’avait jamais écrit de Hello World ! en Scala (il y avait même une personne qui s’est inscrite au Dojo et qui est ensuite allée voir sur Wikipédia ce qu’était Scala…).

Nous avions donc à faire à des Rubyistes (un seul ?), des Javaistes (beaucoup) qui étaient curieux de voir à quoi pouvait bien ressembler Scala.

Pour ma part, c’était mon premier conding dojo en tant qu’animateur.

L’exercice était le KataStringCalculator en mode randori.

Avant même d’attaquer le Scala, le premier problème pour pas mal de participants a été de savoir utiliser les touches du Mac ;-)

Nous avons eu aussi quelques soucis pour utiliser sbt qui n’arrêter pas de faire des OutOfMemoryException mais ça devrait être réglé pour la prochaine fois (mea culpa).

Au final, nous avons tous passé un bon moment même si sur la fin, les pros sur Scala sont un peu partis en cacahuètes sur un refactoring ;-)

Si vous souhaitez vous exercer en Scala, les sources du Kata sont disponibles ici : https://github.com/dojo-toulouse/ScalaKataStringCalculator

Le résultat final est disponible sur la branche “20130208” de Github mais nous avons bloqué sur un problème et les tests de passent plus…

Merci à tous les participants : Leonardo, Joël, Robin, Baptiste, Lolo, Arnaud, Antoine, Didier, Bert et moi même !

Et un grand merci à ekito pour l’accueil.