mardi 19 mai 2009

Clean code

Je lis présentement le livre Clean Code de Robert Martin (souvent surnommé Oncle Bob!)

Ce livre insiste sur les bonnes pratiques nécessaires pour produire du code de première qualité. Il insiste sur plusieurs principes importants et bien connus (inversion de contrôle, tests unitaires), mais un a particulièrement attiré mon attention: Single Responsability Principle, ou, traduction libre, le principe de responsabilité unique.

En gros, ce principe stipule que chaque fonction d'une classe et, à un niveau plus élévé, chaque classe d'une application doivent avoir une seule responsabilité. En suivant ce principe, on arrive à diminuer de beaucoup la taille des fonctions et des classes, ce qui les rend plus lisibles et maintenables. Ce principe permet aussi de plus facilement éliminer la duplication de code, puisque les différentes classes sont beaucoup plus faciles à réutiliser à travers l'application.

Le principe a aussi une autre conséquence intéressante: si les fonctions et les classes sont petites et focus, les modifications au code existant seront beaucoup plus rares. L'ajout de nouvelles fonctionnalités se fera la plupart du temps en ajoutant de nouvelles fonctions et de nouvelles classes. On limite ainsi de beaucoup les risques de briser quelque chose! C'est un autre principe intéressant: le Open-Closed Principle. Les applications devraient être ouvertes pour permettre facilement les ajouts mais fermées pour les modifications. En pratique, ce n'est pas toujours possible, mais c'est un principe intéressant pour produire du code de qualité.

Aucun commentaire: