Aller au contenu

A Philosophy of Software Design

·339 mots·2 mins

Ca papote de beaucoup de sujets intéressants, il y a un enooooorme chapitre sur les commentaires dans le code qui se solde par « l’objectif des commentaires est de s’assurer que la structure et le comportement d’un système sont limpides pour le lecteur (ce qui ne me convient pas vraiment - je serais plutôt d’avis à limiter au maximum les commentaires, pour éviter les redondances et limiter les incohérences entre commentaires et code).

Il y a cependant beaucoup de redites malgré quelques exemples assez sympas à lire. Dans l’ensemble, je m’attendais à un peu mieux : je suis assez d’accord avec les quelques critiques des livres de Robert C. Martin, mais il disait lui-même avoir rédigé ses quelques conseils en sachant pertinemment qu’ils ne s’agissait bien que de conseils : entre “tout documenter” et “ne rien documenter”, il y a un compromis auquel il faut réfléchir.

Dans sa globalité, je verrais plutôt ce livre comme la base d’une relecture du «  Petit guide à l’usage du développeur agile » de Tarek Ziadé.

Finalement, le vrai objectif d’un développement applicatif, c’est de simplifier la complexité globale du système, pour en faciliter la compréhension et la maintenance. Je trouve également que plusieurs autres sections ne vont pas assez loin dans les détails qu’elles auraient pu aborder : la programmation orientée objet apporterait principalement (page 153) la notion d’héritage. Sauf que ce n’est pas tout à fait vrai ; elle apporte (évidemment)) cette notion, mais également le polymorphisme et les possibilités d’extensibilité - en toute sécurité !.

Il y a quelques bons conseils, notamment l’idée de construire un système deux fois en partant de zéro afin de s’assurer de sa pérennité ou stabilité (en tout cas, pour s’assurer que la première idée n’était pas si pourrie que ça).

Au final, je trouve que des frameworks comme Django (encore lui) permettent de se concentrer sur le design tout en accélérant la mise à disposition de nouvelles fonctionnalités. Et rien que pour ça, en connaissant ses faiblesses, cela vaut la peine de s’y pencher.