Dans un article de la série CodeSOD publié par The Daily WTF le 7 octobre 2026, Remy Porter présente un exemple Java issu d'une équipe dirigée par Robert. Un développeur junior voulait savoir comment lire une saisie en ligne de commande et agir en conséquence. Un développeur senior présent depuis longtemps dans l'entreprise, qui aime encadrer les débutants, lui a fourni une application appelée ScannerTool.
Le programme utilise des clés de type Optional<Character> dans une map. Chaque valeur est un objet Map.Entry contenant un message et un booléen. La structure prévoit des entrées pour A, B et une saisie vide. La méthode main affiche plusieurs fois une demande invitant à entrer A ou B, puis appelle nextCharacter(). Cette méthode crée un Scanner UTF-8 sur System.in, lit une ligne entière et renvoie son premier caractère dans un Optional. Une ligne vide produit Optional.empty().
Porter relève que nextCharacter() lit en réalité le premier caractère de la ligne suivante. Le nom de la méthode manque donc de précision. Scanner constitue aussi un analyseur complet pour les types courants, ce qui en fait un outil lourd pour cette tâche. La conception emploie des objets Map.Entry comme des paires de données improvisées. Porter rappelle que Java standard ne propose pas de tuples génériques. Il reste prudent sur le rôle général des éventuels tuples présents dans l'espace de noms javax associé à Enterprise Edition. L'article présente ce code comme un cas particulièrement poussé de sur-ingénierie appliquée à une saisie limitée à deux caractères.




Commentaires
Pas encore de commentaire — écris le premier.
Lance la discussion
Pas de compte ni de mot de passe — saisis simplement ton adresse e-mail et nous t’envoyons un lien de connexion à usage unique. Première visite ? Tout se met en place automatiquement.
Ton évaluation sera appliquée automatiquement après ta connexion.
Vérifie ta boîte mail
Nous avons envoyé un lien de connexion à …. Ouvre-le sur cet appareil — cet onglet te connectera automatiquement.
Rien reçu ? Vérifiez le dossier spam — et marquez le message « Non spam » pour qu'il arrive directement la prochaine fois.