Back
John Ousterhout: A Philosophy of Software Design (2018, Yaknyam Press) 4 stars

Review of 'A Philosophy of Software Design' on 'Goodreads'

4 stars

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.