Le code qui va court-circuiter votre cerveau!

Voici un petit exemple de code très court, qui n’est pas compliqué, qui n’est pas complexe, mais qui torture le cerveau.


if (Model.IsNotBoutonActif != true)
{
    // Permettre l'édition de la donnée
}
else
{
    // Afficher la donnée
}

Ce petit test qui ne paie pas de mine a le mérite de torturer les méninges.

Maintenant que vous l’avez lu. Vous êtes :

  • Perplexe ?
  • Subjugué ?
  • Interrogatif ?
  • Amusé ?
  • Bloqué ?
  • … plus vraiment là ?

Moi, en le découvrant j’ai souri.

Oui, ce petit code si court est déroutant. Il est le meilleur exemple qui puisse exister pour expliquer qu’un code simple pour les uns ne l’est pas pour tout le monde. Et il n’est pas utile de dérouler 2000 lignes de codes pour cela.

Pourquoi est-ce si perturbant ?

Ce code réunit plusieurs particularités :

  • Un mélange anglais, français.
  • Une négation dans le nom d’une propriété.
  • Une négation de la comparaison (et donc une double négation).
  • Une comparaison avec true dans un if.

Il n’y a là aucune notion hyper technique, notre cerveau s’arrête donc au simple sens des mots et symboles. Et c’est là que tous leurs sens perdent leur sens (oui, cette phrase aussi est volontairement courte et trop compliquée).

Moralité

Tout cela est perturbant et pourtant ce code n’est pas mauvais et il fait le travail attendu. Ce n’est pas parce que votre code marche, et qu’il est court, qu’il ne faut pas prendre le temps de le relire.

Pour finir, oui nous sommes tous d’accord: le code suivant aurait suffi.


if (Model.IsNotBoutonActif)
{
    // Afficher la donnée
}
else
{
    // Permettre l'édition de la donnée
}

Qu’avez-vous pensé de cet exemple ?

Jérémy Jeanson

Comments

You have to be logged in to comment this post.