Publish my résumé of A philosophy of software design
This commit is contained in:
parent
e6c6a8498b
commit
cca1118132
Binary file not shown.
After Width: | Height: | Size: 122 KiB |
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: A Philosophy of Software Design
|
||||
---
|
||||
|
||||
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](https://www.dunod.com/sciences-techniques/python-petit-guide-usage-du-developpeur-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.
|
Loading…
Reference in New Issue