This blog is no longer updated. Please check my new blog here.

Julien Sobczak

Agile Principles, Patterns, and Practices in C#

Robert C. Martin, Micah Martin

Exceptionnel Un contenu incroyable au sein d'un même livre. Un véritable tour de force Tous les développeurs doivent connaître le contenu de ce livre sans exception. Dommage que le titre mentionne C# car cela risque de détourner des développeurs Java alors même que le sujet du livre est ailleurs.

General

Hardcover 0131857258 732 pages

Review

Robert C. (alias Bob) Martin s’entoure de son fils, Micah Martin, pour porter et actualiser l’excellent Agile Software Development, Principles, Patterns, and Practices dans le monde .Net.

Le résultat est tout aussi bluffant. Quelle quantité d’informations regroupées au sein d’un même livre Qu’est ce que l’agilité Pourquoi le planning et le testing sont-ils si importants et où est la place du refactoring dans tout çà. On enchaîne ensuite avec des principes incontournables de la programmation orientée objet (SRP, OCP, LSP, DIP, ISP). Les principaux diagrammes UML sont aussi présentés de manière très concise et pragmatique. Les deux dernières parties sont consacrées à un cas d’étude, histoire de tout mettre en pratique et comme cela ne suffisait pas, on ajoute pas mal de Design Patterns indispensables (GoF principalement), ainsi que des principes de modularité.

Les livres de Bob Martin sont vraiment excellents si vous lisez peu fréquemment. Un maximum d’informations indispensables en un minimum de pages (oui, 700 pages c’est très court par rapport au contenu !). Cela présente également un inconvénient évident. vouloir aborder autant de sujets, on accroît le sentiment de déjà-vu chez le lecteur. Si vous avez déjà lu le livre du Gang of Four, un livre du l’agilité (Beck, Cohn, …), un livre sur UML (Fowler, Larman, ..), il ne reste plus que la partie principes qui mérite le détour.

La vraie force du livre selon moi est de montrer comment toutes ces pratiques, méthodologies, techniques, diagrammes, principes, patterns cohabitent merveilleusement ensemble. Le cas d’exemple est l’occasion de s’immerger dans la peau du développeur et donne un côté très pratique et concret au livre.