CodeSOD : Objectifié Note

CodeSOD : Objectifié

Un développeur avec 5 ans d'expérience travaillait sur un projet et a exprimé son affection pour la programmation orientée objet, croyant qu'elle rend le code propre et clair. Ils ont créé un outil de scraping web en utilisant des objets Java, y compris UrlHolder, UrlDownloader et UrlLinkExtractor. La classe UrlHolder est un wrapper autour d'une chaîne, mais elle rend la chaîne privée et ne fournit pas d'accès. La classe UrlDownloader enveloppe un UrlHolder et a une chaîne publique appelée downloadPage, mais elle manque également d'accès. La classe UrlLinkExtractor enveloppe un UrlDownloader et a une fonction pour extraire les liens, mais elle utilise la propriété de chaîne publique downloadPage de UrlDownloader. L'objectif entier de ce code est de passer une chaîne à la fonction d'extraction, mais il est excessivement compliqué. Le code est un exemple de mauvaise conception orientée objet, avec des couches inutiles d'abstraction et un manque d'accès. L'auteur du texte est confus par ce code et se questionne sur sa propre compréhension de la programmation orientée objet. Le code est excessivement complexe et ne démontre pas de bons principes de conception orientés objet. L'auteur critique l'approche du développeur en matière de programmation orientée objet, suggérant qu'elle n'est pas aussi propre et claire qu'ils le prétendent.