Trouver les points de levier dans le code

jeudi 25 mai 2006 :: perrick :: Développement :: aucun commentaire :: aucun trackback

L'objectif du remaniement n'est pas uniquement d'avoir du code joli. Il est aussi d'avoir du code malléable : de trouver les points de levier. Ceux qui feront qu'il devient facile de faire évoluer son application.

Reste à trouver ces points : ils ne sont que très rarement évidents au début du développement. J'ai même l'impression qu'ils sont impossibles à anticiper. Le client, la mode, la couleur du ciel : tout participe à l'évolution des fonctionnalités. Pas la peine alors d'essayer de les anticiper.

Plutôt que de les chercher, j'ai parfois l'impression qu'ils émergent naturellement grâce à un remaniement continue. J'en ai encore eu l'exemple cette semaine : j'ai installé la dernière version d'Opera -- version 9 béta. Premier défaut, ils ont changé le raccourci pour ouvrir un nouvel onglet (le très mozillien Ctrl + t, au lieu de Ctrl + n). Deuxième défaut plus génant : une anomalie sur la priorité des champs <input>. Forcément la grille de saisie des temps dans mon logiciel maison contient 6 des ces boutons. Autant dire que je suis assez sensible à ce qu'il se passe quand on appuie sur Entrée au lieu de cliquer sur tel ou tel bouton.

Il y a trois ans, il n'y avait qu'une seule grille de saisie possible et tous les utilisateurs (moi tout seul :-) utilisaient Opera. Modifier l'ordre ou l'agencement des boutons se faisait directement dans la page, sans problème particulier.

Avançons de quelques mois, le nombre de grille de saisie a plus que quadruplé (au mois ou à la semaine, simple ou avec des menus déroulants complémentaires) et les utilisateurs utilisent presque tous un PC avec IE. Modifier l'agencement exige d'aller vérifier chaque page : un coup de copier-coller pour aller vite et l'affaire était résolue.

Désormais si le nombre de grille de saisie s'est stabilisé, ce n'est pas le cas des options possibles (en heure ou en jour, avec / sans pointeuse, avec / sans plan de charge, etc.). Et puis les utilisateurs ne sont désormais plus très loin du millier -- avec Safari qui est rentré dans la danse. Du remaniement est passé par là entre temps : la méthode créée pour gèrer le contenu des entêtes des grilles de saisie sert aussi à l'agencement des boutons de navigation. Les effets de bord sont nulles. Reste à utiliser ce point de levier précis : le bug introduit dans cette version béta d'Opera est résolu en quelques minutes.

Se pose alors la question : pourquoi ne pas avoir créer cette fonction dès le début du projet ? Parce que à l'époque je n'y connaissais pas grand chose et que je travaillais avec plus de naiveté. Et si c'était à refaire aujourd'hui ? La réponse serait un peu différente : parce que le problème ne s'est pas encore posé. Et qu'avec le remaniement, le problème pourra disparaître... s'il arrive un jour. En plus j'aurais un point de levier potentiel.

Vos commentaires et/ou trackbacks

Aucun commentaire, ni de trackback pour le moment.

Ajouter un commentaire

Les commentaires pour ce billet sont fermés.