Embauché il y a 2 ans pour digitaliser les process, Alexandre Aubry raconte tous les changements que cela a induit : transformation de l'organisation, de l'infrastructure matérielle et réseau, ouverture et décommissionnement progressif de l'ERP Cobol...
Nous avons assisté à la conférence client de l'entreprise Orange à Agile en Seine. Cet article vous propose de découvrir comment l'IA Gen devient déjà un atout incontournable chez certains clients.
Un bon mix d'indicateurs - des KPI classiques ainsi que des KPI personnalisés - devrait vous aider, à condition de respecter un principe essentiel : faites simple !
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.
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" :
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.