Yann Moisan

Scala, Web, Linux…

Critique du livre The Productive Programmer

The Productive Programmer, paru chez O'Reilly, est le dernier livre de Neal Ford. Pour ceux qui ne le connaitraient pas, Neal Ford est un architecte Système travaillant chez ThoughtWorks, et donc un collègue de Martin Fowler. Il parle aussi lors de nombreuses conférences (notamment l'USI en 2010).

Comme son nom l'indique, ce livre s'adresse aux développeurs. Il ne traite ni d'un langage, ni d'un système d'exploitation particulier. En tant que chef 3 étoiles du développement logiciel, l'auteur nous livre ses recettes, ses trucs et astuces pour améliorer sa productivité.

Le contenu est structuré en 2 parties : les principes et la pratique.

La première partie est une liste d'astuces. Elles sont classées par catégorie, dans le but d'apprendre à reconnaitre certains modèles, pour permettre au lecteur d'aller au-delà du simple inventaire. Voici la liste des catégories, avec un exemple pour chacune.

  • L'accélération : en apprenant les raccourcis claviers de votre IDE.
  • La concentration : en désactivant la notification automatique lors de l'arrivée d'un nouvel email.
  • L'automatisation : en écrivant des scripts, la ligne de commande étant le meilleur moyen d'interagir avec un ordinateur.
  • La canonicité : en évitant toute forme de duplication.

La deuxième partie est plus orientée développement. Voici quelques exemples de sujets traités :

  • Le TDD.
  • Les outils d'analyse de code.
  • Le principe d'encapusultation et, par conséquent, les méchants getter/setter.
  • La mauvaise habitude de certains consistant à développer des fonctionnalités non demandées, au cas où !

Conclusion : Je recommande vivement la lecture de cet ouvrage. Même si certains principes sont très connus (les références aux méthodes Agile et au livre The Pragmatic Programmer sont d'ailleurs totalement assumées), le livre foisonne d'exemples et d'anecdotes. L'immense recul de l'auteur permet de mettre en perspective les pratiques qui sont à la base de notre métier de développeur. Il est aussi rassurant de constater que nous sommes nombreux sur le chemin de l'amélioration continue…