Authors

Review

Ce court livre propose une réflexion basée sur quelques axes simples afin d'améliorer le design des logiciels. Notez que l'auteur ne parle pas d'architecture à dessein. A la place, il présente un certain nombre d'idées qui vont nourrir la réflexion sur le design. Par exemple

* Les modules doivent être profonds : présenter une faible surface d'interface tout en fournissant des fonctionnalités puissantes
* Préférer la pensée stratégique à la pensée tactique : ne jamais se jeter sur le quick fix sans avoir mesuré son impact
* Toujours réfléchir à plusieurs solutions : ça permet de voir les défauts et qualités des unes et des autres
* Investir dans le design du logiciel de façon continue
* Ne pas renvoyer d'erreurs si ça n'est pas absolument nécessaire
* Ecrire le code dans l'ordre interface/commentaires/code. TOUJOURS

J'ai beaucoup apprécié la manière pragmatique dont ces éléments apparaissent, qui résonne avec certains éléments de mon expérience.
Par ailleurs, un chapitre (19 - software trends) fournit un aperçu des opinions de l'auteur sur les grandes tendances logicielles. Autant l'agilité trouve grâce à ces yeux (à la réserve de ne pas coder "tactiquement"), autant le TDD est pour lui une erreur - sauf dans le cas précis de la correction de bugs. Et ses arguments sonnent assez juste.

C'est donc une excellente lecture pour tous les gens qui se retrouvent à concevoir un système logiciel. Je regrette juste que les exemples soient assez datés.