Bonnes pratiques de codage

De façon générale, certaines bonnes pratiques sont transposables dans la plupart des langages. Après tout, il ne s'agit que de "bonnes pratiques". Au delà de la syntaxe, conventions, etc. Il convient d'écrire du code qui respecte certains principes élémentaires pour avoir un code simple, facilement réutilisable, fiable. Pour ma part, la perfection sur un morceau de code n'est pas lorsqu'il n'y a plus rien à ajouter, mais au contraire quand il n'y a plus rien à retirer! Pour parvenir à cela, il faut avoir des méthodes et objets avec une seule responsabilité. C'est un paradime souvent oublié, et c'est ainsi que le code devient complexe, illisible, difficile à maintenir car il fait trop de choses. De plus, cela risque d'induire du code potentiellement couteux. Sans parler que c'est également, dans ce genre de cas qu'il y a duplication de code, un modèle qui se fragilise, et au final devient non réutilisable.

Beaucoup de personnes pensent qu'il faut utiliser l'héritage pour mutualiser les développements. Or bien au contraire, c'est la composition qu'il faut privilégier. Avec l'héritage, le risque est d'avoir une hiérachie trop complexe et donc difficile à maintenir. Ainsi selon le principe de Liskov :

"Une relation d'héritage est bien employée s'il est possible de substituer n'importe quel instance d'une super-classe, par n'importe quel instance d'une de ses sous-classes, sans que la sémantique d'un programme écrit dans les termes de la super-classe n'en soit affectée."

http://fr.wikipedia.org/wiki/Principe_de_substitution_de_Liskov

 


Rejoindre la conversation