Hébergement - Code .Net

Design d’applications – Classes Utilitaires

Note: ce sujet est plus avancé et traite de concepts de design d’applications et des classes utilitaires, si vous ne vous sentez pas à l’aise, vous pouvez procéder au prochain tutoriel.

Cet article est en partie un reflet de ma propre opinion sur le sujet qui n’est potentiellement pas la vôtre, si tel est le cas, démarrez la discussion!

Durant ma carrière de programmeur, j’ai eu la chance de voir plusieurs cas de telles classes et, à mon jugement, aucune ne méritait d’être conservée dans l’application.

Que sont les classes utilitaires?

De telles classes sont principalement utilisées pour regrouper des méthodes et/ou des propriétés qui ne semblent pas appartenir à une classe particulière à première vue. Dans certains cas, il s’agit simplement de paresse de la part du programmeur ne se donnant pas la peine de chercher un meilleur endroit pour placer une méthode en particulier.

De plus, une classe utilitaires est, la plupart du temps, déclarée comme static car le programmeur veut pouvoir y acceder de n’importe où. Aucun lien n’est donc présent entre les méthodes. Si vous voulez une définition plus formelle des classes utilitaires, vous pouvez vous référer à Wikipedia (anglais seulement).

Pourquoi ne s’agît-il pas d’une bonne pratique?

Je considère l’utilisation de telles classes comme une mauvaise pratique car elles encouragent souvent la procrastination et la paresse des programmeurs et accumule les méthodes qui ne semblent entrer dans aucune autre classe. Il faut donc réorganiser les méthodes et les propriétés dans d’autres classes pour tenter de garder une certaine logique structurelle dans l’application.

Par exemple, il y a quelques semaines je travaillais sur une application déjà en production dans laquelle j’ai trouvé l’une de ces classes. La possibilité d’une réorganisation s’imposait car la plupart des méthodes et propriétés pouvaient être bougées dans des classes déjà existentes.

Il ne s’agit pas de trouver qui est en cause mais plutôt de simplement les réorganiser pour tenter de conserver la logique et la facilité de lecture de l’application.

Pour la beauté du code!

Selon mon expérience, il y a toujours une meilleure façon de réorganiser les méthodes et propriétés plutôt que de créer une classe utilitaire servant simplement à se débarasser de tout ce dont on ne sait pas où on mettrait à première vue. Ces classes servent de poubelle pour éléments statiques, à éviter.

Un dernier exemple qui me vient à l’esprit et qui personnellement m’a fait bien rire; Il y a quelques années j’ai travailler sur un projet dans lequel la classe utilitaire servait d’interface complète à la base de données. J’avoue qu’il était bien temps de la revamper!

Sentez-vous à l’aise de partager votre opinion sur les classes utilitaires dans les commentaires!

Next article Visual Basic - Interface Visual Studio

Related posts