jeudi 26 juin 2008

Extreme Programming Adventures in C#

Extreme Programming Adventures in C#,par Ron Jeffries

Ou les aventures informatiques de Ron en C#! Pourquoi une aventure? car il ne connait pas C# et va le découvrir au cours du projet. Prenant prétexte de développer une application de type XML Notepad avec Visual Studio, on va suivre la pensée de l'auteur et voir comment ses pratiques XP l'aident à avancer:

Plus que de la conception émergente, on assiste aussi à de la connaissance émergente!

L'approche XP de faire aussi simple que possible

Everything should be made as simple as possible, but not one bit simpler, A. Einstein

est particulièrement pertinente dans un contexte de découverte d'un nouvel environnement et/ou d'un nouveau language: La construction se fait au fur et à mesure que l'on avance dans le projet et dans la connaissance du C#.

Pour les tests utilisateurs, il nous fait une belle démonstration de l'importance des tests et non d'un framework de tests. Même si la solution est très contextuelle, elle est simple, adaptée au problème et sa conception a évoluée avec le code lui-même. Efficace.

Il nous livre également une expérience intéressante sur la stabilité du code fasse au changement: une fonction Undo arrive assez tard dans les demandes utilisateur. Une question se pose alors: Est-ce qu'une conception amont intégrant cette fonctionnalité aurait été plus pertinente?
Une première implémentation arrive assez rapidement au détriment de l'efficacité. L'utilisateur est content mais le développeur moins et prévoit donc une étape d'optimisation de la solution.
Après quelques faux départs s'appuyant sur de la conception papier, la solution d'optimisation apparaitra simplement par itérations sur la solution initiale.

Toutes les pratiques XP ne sont pas utilisées puisqu'il travaille seul et est son propre client, mais on assiste tout de même à quelques séances de pair programming et à ses doutes lorsqu'il travaille seul.

Concernant le Refactoring, l'essentiel de sa pratique est de supprimer la duplication de code

"Once and only once" de martin Fowler

"Don't repeat yourself" (DRY) des Pragmatic Programmers

Ce n'est donc pas un livre pour apprendre le C# mais bien pour voir de l'extreme programming en oeuvre dans un contexte certe un peu particulier qui apporte un éclairage différent.

Aucun commentaire:


Laurent Morisseau, auteur de ce blog, pour me contacter