La plus belle ligne de code que j’ai jamais vue

Développeur Divers Le travail

On parle peut-être de programmation, mais comme la programmation est un langage, elle a aussi une syntaxe, et la même fonction peut être écrite différemment par différentes personnes, au même titre qu’une même histoire peut-être racontée différemment selon les orateurs. Dans la série Numb3rs, le protagoniste mathématicien s’appliquait dans l’élégance de ses formules. Gotlib, le célèbre dessinateur de bande dessinées dont l’œuvre intégrale siègera un jour sur mon étagère, avait fait une double page pour raconter de plusieurs manières la fameuse blague du fou qui repeint son plafond avec un pinceau et dont l’échelle est prisée…

Ma quête du jour : trouver une fonction qui inverse les majuscules et les minuscules dans une chaine de texte. Exemple :

Bonjour.

Devient :

bONJOUR.

Ceci est un exemple, car sur un texte explicite, l’intérêt est limité. La version longue de la solution consisterait à comparer tous les caractères et à les inverser ; d’autres emploieraient les expressions régulières. Et là, un développeur propose une solution des plus élégantes,en utilisant la fonction XOR ou OU Exclusif :

chaineEnMajuscule(chaine) XOR chaineEnMinuscule(chaine) XOR chaine

Soit, dans notre cas :

BONJOUR. XOR bonjour. XOR Bonjour.

Ainsi, cette formule conserve tous les caractères non alphabétiques (ponctuation, nombres, etc.), et par le OU Exclusif sur 3 éléments, va permuter les caractères uniquement s’ils sont différents. Une ligne, d’une simplicité déconcertante, d’une ingéniosité impressionnante, et digne d’être encadrée !

Petit hommage à CommitStrip, qui avait fait une BD sur une vente aux enchères de code.