Quizz, la question 12 sur l'ingénierie du logiciel

La question était la suivante :

L’application à développer s’appuie sur du code existant dont on sait que la qualité n’est pas exceptionnelle. Que faire ?

184 participants pour ce douzième quizz, avec la répartition suivante :

  1. L’améliorer quand un bug est trouvé qui porte sur ce code existant 41.3 %
  2. Améliorer ce code existant en priorité 9.78 %
  3. Surtout ne pas toucher à ce code 4.35 %
  4. Ajouter des tests pour couvrir tout le code existant 44.57 %

Cette fois il n'y a pas une réponse qui récolte la majorité des suffrages, mais 2, les réponses 1 et 4 qui se détachent largement, presque à égalité.

Écrire des tests pour couvrir tout le code existant peut apparaître comme la solution qui rassure le plus. Cependant cela risque de prendre beaucoup de temps. Il est préférable d'ajouter un test et de faire du refactoring sur les parties où sont trouvés des défauts.

C'est le quizz 13 qui est maintenant en ligne, il porte sur l'usage d'un indicateur.

Commentaires

1. Le lundi 21 novembre 2011, 12:36 par phil

je sais pas si c'est un flou délibéré (pour faire réfléchir) mais bien que j'aurais exactement préconisé ce que vous décrivez cependant malgré cette réponse, je ne sais, après votre réponse, toujours pas quelle est la bonne réponse (c'est important pour son égo de savoir si on a juste ;) )...

Car la réponse 1 n'évoque absolument pas le fait de faire des tests et la réponse 4 recommande de tout couvrir avant de corriger le bug...

Et ce n'est malheureusement pas le 1ère fois que la réponse me semble à cheval entre deux à cause d'omission, de flou,... (volontaire?)

Sinon, toujours très bon blog et assez amusant/intéressant l'idée des quizzs (mais frustrant vous l'aurez compris)

Ah, ce matin en écrivant le billet, j'avais bien le sentiment de ne pas être très clair. J'utilise ces questions dans un QCM plus important lors de mes formations et c'est effectivement pour faire réfléchir et en discuter ensuite tous ensemble. Maintenant si j'avais réussi à être clair ce matin je l'aurais écrit pour mieux expliquer pourquoi c'est la réponse 1 que je choisis. Peut-être que des lecteurs le feront mieux que moi...
2. Le lundi 21 novembre 2011, 21:03 par Oaz

Je n'ai pas répondu à cette question.
Bien que la réponse 1 me semble la plus proche de ce qu'il faudrait faire, j'aurais plutôt dit : "L’améliorer lorsque l'on a à modifier ce code existant que ce soit pour corriger un défaut ou pour ajouter une nouvelle fonctionnalité"
---
@Phil,
Pour améliorer du code, il faut écrire du code et avant d'écrire du code il faut toujours écrire des tests, non ?
Donc à mon avis la réponse 1 implique d'écrire des tests sur les parties que l'on va modifier