136Fermer138
RHJPPLe 31/12/2012 à 15:51
robinHood (./136) :
un code écrit pour qq chose ne doit pas l'être pour autre chose, sinon cela est du hack
Non, ça s'appelle de la généralisation. Quand tu fais tes fonctions qui gèrent de façon révolutionnaire ta liste chaînée d'images, ce serait dommage de ne jamais pouvoir les réutiliser plus tard telles quelles sans modification, ça te ferait pourtant gagner plein de temps. Ce n'est qu'un exemple évident, mais on se rend compte que la plupart du code peut être découpé en librairies réutilisables.
robinHood (./136) :
le temps de conception est limité
Oui, c'est pourquoi il faut éviter d'écrire plusieurs fois les mêmes choses et après chercher les différentes occurrences pour les remplacer par des macros comme ça semble avoir été fait dans le code que Kevin Kofler nous a montré. Et ce n'est pas terminé car il y a encore des répétitions. Mais il y a aussi le temps de débogage qui est limité. Devoir corriger plusieurs fois les mêmes choses ne fait pas gagner de temps. De plus, comme ces lignes équivalentes ont été écrites plusieurs fois, elles peuvent être affectées de bogues différents. Et même si les bogues sont les mêmes, il faudra les trouver plusieurs fois et les corriger plusieurs fois (plus ou moins bien à chaque fois), car n'étant pas au même endroit, les codes équivalents s'exécutent à des moments différents. On peut trouver un bogue un jour dans un code équivalent à un autre que l'on avait déjà corrigé des mois auparavant.

Mais bien sûr, il ne faut pas être extrémiste. Un code de seulement quelques centaines de lignes peut bien rester dans son fichier s'il est seul. Et si le code est jetable après son utilisation car bien trop spécifique, alors soit, on fait ce qu'on veut. On peut aussi préférer faire autrement et mettre tout dans un même fichier pour simplifier certaines choses tout en gardant une séparation claire entre les parties et qu'elles soient réutilisables... par exemple, PrettyPrint est fait sur ce principe avec un fichier principal coupé en parties indépendantes et réutilisables. Ce fichier contient 8995 lignes de code.
robinHood (./136) :
je demande toujours les évolutions futures aux quelles ils aspirent
Ok, comme ça ils ont la responsabilité de ce qu'ils obtiennent, si tant est qu'ils aient bien compris les implications. Aussi, sans qu'ils sachent déjà quelles seront les évolutions, il faudrait leur demander s'il est possible que des évolutions soient nécessaires ou souhaitées un jour.