Personellement je suis de l'avis de Shao. Certe je suis quelque peu bordelique et donc c'est plus dur pour moi de faire des provisions
Le probléme vient je pense du fait qu'une fois rangé dans une case, le code se fige, le meilleur code d'aujourd'hui n'etant pas necessairement le meilleur code de demain.
Je me surprend toujours à trouver de meilleure solution au probléme que je revisite.
D'ailleurs ma methode d'apprentissage ( je suis un autodidacte ) à un certain moment était de me lancer dans un projet, trouver une n'importe quel solution pour atteindre mon objectif, aussi moche soit elle. Ensuite une fois que je maitrise les differents aspects, je recommence à zéro et généralement je sors un logiciel qui au minimum 2 fois mieux en 2 fois moins de temps.
Le second probléme vient du fait qu'au départ souvent, on écrit du code pour notre logiciel, et qu'une fois términé, en essaye d'en faire un code générique. Ce n'est absolument pas la chose à faire.
C'est d'ailleurs pour ca que dans la plupart des environnement professionel, on sépare la conception du FrameWork ( donc tous les outils générique ) de la conception propre d'un projet donné (d'ailleurs généralement on ne leur parle pas du projet avant que le FrameWork ne soit Up).
Enfin faire du bon code générique n'est pas donné à tout le monde. Il faut optimiser au maximum ( c'est souvent lourd un framework ), prévoir les différents cas d'utilisations et faire du code evolutif. Il faut aussi être plus stricte niveau codage. Beaucoup commenté... Bref à moins d'êtres un pro, de travailler pour une société qui vous donnera 100 projet similaires, ca ne vaut probablement pas le coup.
Je donne un exemple simple pour le PHP : Un mode de gestion des utilisateurs.
Pour un simple site, un peux de HTML/CSS couplé à une base de donné légére fera l'affaire,2 classes d'utilisateurs : user/admin.
Mais si on veut faire un module générique, il faut concevoir un systéme de template (un vrai, pas un gestionnaire de theme), un gestionnaire de module,la base de donné doit contenir beaucoup plus de champs, un gestionnaire de groupes, un gestionnaire de droits...
Bien sûr, il y'a toujours un entre deux, reinventer la roue à chaque fois est idiot.
Il faut réutiliser son code, c'est normale, mais faut aussi être critique envers ce code. Relire le code et voir si entre temps on à pas appris une technique qui pourrait améliorer ce code avant de le réutiliser me parait être la chose à faire.
Le probléme vient je pense du fait qu'une fois rangé dans une case, le code se fige, le meilleur code d'aujourd'hui n'etant pas necessairement le meilleur code de demain.
Je me surprend toujours à trouver de meilleure solution au probléme que je revisite.
D'ailleurs ma methode d'apprentissage ( je suis un autodidacte ) à un certain moment était de me lancer dans un projet, trouver une n'importe quel solution pour atteindre mon objectif, aussi moche soit elle. Ensuite une fois que je maitrise les differents aspects, je recommence à zéro et généralement je sors un logiciel qui au minimum 2 fois mieux en 2 fois moins de temps.
Le second probléme vient du fait qu'au départ souvent, on écrit du code pour notre logiciel, et qu'une fois términé, en essaye d'en faire un code générique. Ce n'est absolument pas la chose à faire.
C'est d'ailleurs pour ca que dans la plupart des environnement professionel, on sépare la conception du FrameWork ( donc tous les outils générique ) de la conception propre d'un projet donné (d'ailleurs généralement on ne leur parle pas du projet avant que le FrameWork ne soit Up).
Enfin faire du bon code générique n'est pas donné à tout le monde. Il faut optimiser au maximum ( c'est souvent lourd un framework ), prévoir les différents cas d'utilisations et faire du code evolutif. Il faut aussi être plus stricte niveau codage. Beaucoup commenté... Bref à moins d'êtres un pro, de travailler pour une société qui vous donnera 100 projet similaires, ca ne vaut probablement pas le coup.
Je donne un exemple simple pour le PHP : Un mode de gestion des utilisateurs.
Pour un simple site, un peux de HTML/CSS couplé à une base de donné légére fera l'affaire,2 classes d'utilisateurs : user/admin.
Mais si on veut faire un module générique, il faut concevoir un systéme de template (un vrai, pas un gestionnaire de theme), un gestionnaire de module,la base de donné doit contenir beaucoup plus de champs, un gestionnaire de groupes, un gestionnaire de droits...
Bien sûr, il y'a toujours un entre deux, reinventer la roue à chaque fois est idiot.
Il faut réutiliser son code, c'est normale, mais faut aussi être critique envers ce code. Relire le code et voir si entre temps on à pas appris une technique qui pourrait améliorer ce code avant de le réutiliser me parait être la chose à faire.