La qualité du code a-t-elle disparu chez les programmeurs ?
Un expert s'exprime sur la question

Dans les débuts de l’informatique, le code était réservé à l’élite. Mais, avec l’avènement du phénomène internet, ce n’est plus le cas. Les ressources traitant des concepts exposés en informatique sont facilement accessibles.

Cependant, alors que la logique voudrait aussi que la qualité du code s’améliore avec le temps, c’est l’inverse qui se produit. Qu'est-ce qui peut expliquer ce phénomène ?

Leslie Lamport, directeur de la recherche chez Microsoft Research et détenteur du prix Turing 2013,a sa petite idée sur la question. Selon lui, aujourd’hui, la grande majorité des programmeurs passent à côté de l’essentiel. Ils sont trop pressés d’écrire le code. Or, pour tout projet qui se respecte quelque soit le domaine, l’étape de la planification est vitale.

Pour étayer ses propos, l’expert a fait une analogie avec le domaine de l’architecture. Un architecte fait toujours un plan détaillé d’une bâtisse avant sa réalisation sur le terrain. Certes, même si ce plan ne garantit pas à 100% la solidité de l’édifice, l’architecte ne peut s’en passer, tout simplement parce que sans lui, il obtiendrait de très mauvais résultats. Pourquoi pas le programmeur ?



Leslie Lamport

À la différence de l’architecte, le programmeur ne fait pas de plan, mais doit réaliser des spécifications logicielles avant de se lancer dans la phase du code. Sauf qu’en pratique, ce n’est pas le cas. L’expert constate que la plupart évitent cette phase pour se lancer directement dans le code. Ils pensent à tort ou à raison qu’écrire des spécifications logicielles constitue un frein pour eux. « Ça n’aide pas à écrire le code. Et puis de toute façon, si un bogue survient, il est très facile de modifier quelques lignes de code pour tout réparer ».

Leslie pense qu’ils ont tout simplement tort. Pour lui, même si les spécifications ne sont pas du code, elles conduisent à produire du très bon code. De plus, selon sa propre expérience, elles aideraient dans la phase de maintenance logicielle en simplifiant celle-ci.

Alors, comment écrire de bonnes spécifications logicielles ? Il n’existe pas de règle absolue d’après l’expert. Cependant, il pense que la mathématique serait d’un apport appréciable avec des notions comme les ensembles, les fonctions et la logique.

Source: Wired

Et vous ?

Êtes-vous d'accord avec l'expert ?