octobre
2009
Ce livre est encore en pré-production, mais comme j’ ai eu la chance de participer à sa revue, je me suis dit que cela ne ferait pas de mal de vous en faire profiter…
|
Brownfield Application Development in .NET Kyle Baley and Donald Belcham Softbound print: December 2009 (est.) | 550 pages Note : 5/5 |
Dès que le livre sort officiellement, je corrige toute info erronée, et ça part dans les critiques
Version Française
Ayant principalement travaillé avec le Framework .NET depuis bientôt huit ans (depuis la beta en 2001), j’ai régulièrement à intervenir sur des projets démarrés depuis un certain temps, et qui sont tranquillement, mais surement, devenu totalement impossible à maintenir.
La faute n’est en général pas liée au Framework en lui-même, mais à ce qui semble être une tendance naturelle de tout programme non trivial à dégénérer dans cet état.
Le livre « Brownfield Application Development in .NET » décrit un ensemble de pratiques qui peuvent permettre de sortir un projet de l’ornière, tout en diminuant le nombre de bugs, les problèmes de maintenance, et en améliorant la qualité du code.
Le livre est composé de deux grandes parties.
Il commence par décrire l’écosystème du projet, a savoir le contrôleur de code source, l’intégration continue, les métriques, et le suivi des bugs.
Il décrit ensuite comment améliorer la qualité du code en appliquant des fondamentaux de la conception orientée objet, tels que le découpage en couche, les principes SOLID, ou le découplage des dépendances,
Le livre s’attaque en suite a l’interface utilisateur, en la refactorisant vers le pattern MVP, puis explique comment introduire un ORM, ainsi que ses avantages. La partie suivante est consacrée a une technique consistant a insérer une couche supplémentaire entre deux entités, de façon a créer une couche anti-corruption.
Enfin, il se termine en proposant un certain nombre de suggestions sur comment garder le rythme une fois que le projet est revenu a un état maintenable.
Ce que j’ai le plus apprécié dans ce livre, c’est qu’en plus d’être techniquement intéressant, il se paye le luxe d’être abordable a tout le monde (des développeurs juniors qui le liront d’une traite, aux plus senior qui y reviendront pour des points précis), et fun a lire.
De plus, les auteurs se montrent ouverts, et ne présentent aucune solution comme étant LA solution, préférant inviter le lecteur a sortir de sa zone de confort en présentant des solutions alternatives.
Au final, ce livre est un des meilleurs livres que j’aie lu ces dernières années sur le processus de développement, et qui a sa place sur les étagères de tout développeur qui doit assurer la maintenance d’une application…même si cette application lui appartient
English Version
Having worked for the better parts of the last eight years with the .Net framework, I am regularly called to work on a project started some times ago,
that quietly and slowly started to turn in an unmaintainable mess.
The fault, usually, is not limited to the framework, but seems to be a natural tendency for any non-trivial program to devolve into this state.
The book « Brownfield Application Development in .NET » explains the practices that may turn one of these projects back to a better health, with less bugs, less maintenance issues, and better code quality.
It firsts describes what should be the project ecosystem, starting from the version control, to continuous integration, automatic testing, quality metrics and defect tracking.
Then, it describes how to enhance the code quality by applying some OO fundamentals, like layering and dependency management.
After this, the book describes how to refactor from the usually entangled user interface code to a cleaner MVP pattern, how to abstract the data access code by using an ORM and how to prevent the code from corruption by adding an additional layer.
Finally, it ends by some suggestions on how to keep the project from returning to the brownfield state.
The best thing in this book is that it is really well balanced, fun to read, and accurate technically.
The authors also have an open point of view, not selling one solution as being the « true one and only » solution, but giving some advice, and challenging users assumptions all along.
All in all, it is one of the best books I have red in the last three years on development process and good practices, and it has its place on each developer that has to maintain an application…even if he is the one that developed it
Articles récents
Archives
- janvier 2014
- septembre 2013
- août 2013
- mai 2013
- avril 2013
- janvier 2013
- août 2012
- juin 2012
- mai 2012
- avril 2012
- mars 2012
- novembre 2011
- septembre 2011
- août 2011
- juillet 2011
- juin 2011
- mai 2011
- avril 2011
- février 2011
- janvier 2011
- novembre 2010
- octobre 2010
- septembre 2010
- août 2010
- juillet 2010
- juin 2010
- mai 2010
- avril 2010
- mars 2010
- février 2010
- janvier 2010
- décembre 2009
- novembre 2009
- octobre 2009
- septembre 2009
- août 2009
- juillet 2009
- juin 2009
- mai 2009
- avril 2009
- mars 2009
- février 2009
- janvier 2009