Ligne représentative : Pas ce que ils ont voulu dire en regardant « Andor »
Le texte examine une fonction problématique d'un outil de recherche en C++ datant de trois décennies. Cet outil, principalement développé par des doctorants en informatique, présente de mauvaises pratiques de programmation. L'exemple spécifique mis en avant est une fonction nommée isFooOrBar qui effectue en réalité une opération ET entre isFoo() et isBar(). Ce décalage entre le nom de la fonction et son comportement est un problème important. De plus, l'auteur argue que même si le nom était correct, l'expression explicite isFoo() && isBar() est plus claire qu'une fonction dédiée. La fonction en question a été commitée comme nouveau code en 2010, suggérant un choix délibéré plutôt qu'une simple erreur. L'auteur original a probablement modifié la logique de OU à ET sans mettre à jour le nom. Cette décision a été prise pour éviter de mettre à jour tous les sites d'appel, malgré le fait que la fonction n'était utilisée que dans un seul emplacement. L'auteur suggère que l'intention réelle était d'encapsuler le comportement, ce qui n'a pas été atteint ici.
isFooOrBarqui effectue en réalité une opération ET entreisFoo()etisBar(). Ce décalage entre le nom de la fonction et son comportement est un problème important. De plus, l'auteur argue que même si le nom était correct, l'expression expliciteisFoo() && isBar()est plus claire qu'une fonction dédiée. La fonction en question a été commitée comme nouveau code en 2010, suggérant un choix délibéré plutôt qu'une simple erreur. L'auteur original a probablement modifié la logique de OU à ET sans mettre à jour le nom. Cette décision a été prise pour éviter de mettre à jour tous les sites d'appel, malgré le fait que la fonction n'était utilisée que dans un seul emplacement. L'auteur suggère que l'intention réelle était d'encapsuler le comportement, ce qui n'a pas été atteint ici.