Une méthode de 1000 lignes ou 100 méthodes de 10 lignes ?

La réponse à cette question est évidement: 100 méthodes de 10 lignes …

Nombre de lignes de code ou LoC

Parmi les métriques de bases de la qualité logicielle, s’il y’en a une bien qui est vraiment LA métrique de base, c’est le nombre de ligne de codes. On ne va pas expliquer ici comment on calcule ce nombre, Wikipedia en anglais contient une page LoC (Lines of Code) sur le sujet.

Le nombre de ligne de codes d’un projet, d’une application, d’une classe ou d’une méthode est une métrique intéressante pour évaluer la complexité de chacun de ces éléments.

Le mot “évaluer” est délibérément choisi, car effectivement ce n’est qu’une évaluation et non pas une vision exacte de cette complexité, néanmoins c’est un indicateur  convenable. Ceci n’est pas du à la précision du calcul, mais au fait que la complexité, comme la simplicité ou l’intelligibilité sont des critères subjectifs et donc difficilement quantifiables. Continue reading

Leçon d’humilité: Balayer devant sa porte ou la découverte du bug du Pentium

Ca ne fonctionne pas, c’est la faute à l’autre

Dans mon travail, j’entends souvent: Ce n’est pas ma faute, il y’a une anomalie dans le service, il ne retourne pas les bonnes données. Ou encore il y’a un bug dans le framework.
Ou plus rarement, mais c’est arrivé, c’est un bug de la JVM ou de Spring ou de Hibernate.

C’est souvent plus facile d’accuser quelqu’un d’autre, parfois même ça peut rendre service. Mais face à ce genre de situation, dans 99,9999% des cas, le problème provient de ce qui se trouve entre le clavier et l’écran: Le développeur (en l’occurence moi).

Comment s’y prendre

En fait, ce genre de situation me rappelle une anecdote que j’avais entendu quand j’étais encore sur les bancs du cours de Génie Logiciel (en école d’ingénieurs), qui concerne la façon dont a été découvert le bug du Pentium. Continue reading