Vous n'avez pas forcément besoin de principes de conception de logiciels pour des problèmes simples

Il est essentiel de garder à l'esprit les concepts fondamentaux et les lignes directrices lors de la résolution de problèmes simples, sans s'embarrasser de modèles de conception complexes.

Vous n'avez pas forcément besoin de principes de conception de logiciels pour des problèmes simples

< L'architecture des plateformes

L'écriture d'applications logicielles implique la résolution de problèmes plus ou moins complexes. Une question qui se pose souvent est de savoir si l'application de principes de conception de logiciels tels que la norme SOLID est nécessaire pour tous les problèmes, quelle que soit leur complexité. S'il est vrai que le code doit toujours être facile à modifier, l'application de techniques de conception lorsque cela n'est pas nécessaire peut parfois causer plus de tort que de bien. Cet article examine dans quels cas il est nécessaire d'appliquer les principes de conception des logiciels et dans quels cas il ne faut pas le faire.

Les bases de la solidité

Comme le rappelle Wikipedia, "SOLID est un acronyme mnémonique qui regroupe cinq principes de conception destinés à produire des architectures logicielles plus compréhensibles, flexibles et maintenables" :

Les principes SOLID listés par Wikipedia

Quand ne pas appliquer les principes de conception des logiciels

La conception de logiciels peut être associée à deux problèmes principaux, qui tournent autour de la complexité. Tout d'abord, la conception de logiciels est difficile à expliquer et il est difficile de démontrer ses avantages à l'aide d'exemples simples. Les développeurs pragmatiques qui ne sont pas familiarisés avec la conception de logiciels peuvent se demander pourquoi ils doivent l'utiliser. Pour faire ressortir la conception de logiciels, une certaine complexité est nécessaire. Deuxièmement, la conception de logiciels peut ajouter de la complexité à une solution logicielle, en particulier lorsqu'il n'y en a pas au départ. Si le problème est simple, l'ajout d'abstractions et de modèles de conception peut être considéré comme excessif et trop proche du principe YAGNI (You Ain't Gonna Need It).

Justifier les principes de conception des logiciels

La conception de logiciels est un art qui consiste à permettre le changement dans une base de code. Nous y parvenons en examinant attentivement le problème à résoudre et en utilisant les principes de conception de logiciels, les modèles et les meilleures pratiques. En permettant le changement dans une base de code, nous essayons de limiter les coûts inévitables de la maintenance des logiciels. Même si un problème est simple, nous pouvons imaginer différentes façons de le modifier. Le code devrait toujours être facile à modifier ; c'est pourquoi nous sommes souvent tentés d'appliquer les principes de conception et d'ajouter de la complexité, au cas où nous en aurions besoin. Au cas où le changement viendrait perturber et désorganiser notre code.

Utiliser des concepts fondamentaux pour des problèmes simples

Si la complexité de ce que vous faites n'est pas très élevée, vous n'aurez probablement pas besoin de beaucoup de modèles de conception (voire pas du tout), et la plupart des principes de conception et des lignes directrices ne seront pas nécessaires. Il est conseillé d'essayer de garder les choses aussi simples que le problème le permet. Par exemple, SOLID est un ensemble de lignes directrices/meilleures pratiques que tout développeur devrait connaître et comprendre. Cependant, la plupart d'entre elles sont des lignes directrices de haut niveau et peuvent ne pas être nécessaires pour résoudre des problèmes simples. Les principes SOLID sont essentiels, mais ils ne sont pas toujours simples.

A lire sur le sujet

SOLID (informatique) — Wikipédia

Génial ! Vous vous êtes inscrit avec succès.

Bienvenue de retour ! Vous vous êtes connecté avec succès.

Vous êtes abonné avec succès à WENVISION.

Succès ! Vérifiez votre e-mail pour obtenir le lien magique de connexion.

Succès ! Vos informations de facturation ont été mises à jour.

Votre facturation n'a pas été mise à jour.