Problème XY

Si vous fréquentez des forums d’aide à la programmation, vous êtes peut-être déjà tombé sur ce terme ou son original anglais, XY problem.
Quoiqu’il en soit, ce terme est mal connu alors que ce qu’il définit est très fréquent :

  1. vous partez d’une situation problématique « X » — que vous en soyez conscient ou pas ;
  2. afin de la résoudre, vous envisagez une solution « Y » ;
  3. quand vous rencontrez un problème relatif à cette solution, vous mentionnez « Y » sans mentionner « X ».

Par exemple, prenons une question relative à « Y » :

Comment extraire les trois derniers caractères du nom d'un fichier ?

Bien qu'elle est légitime, il y a peu d'intérêt à réaliser cela. Et pour cause, puisqu'elle devrait probablement être :

Comment extraire l'extension du nom d'un fichier ?

Cette question permet maintenant de résoudre « X ».

Le souci, c'est qu'on ne peut pas toujours deviner « X » à partir de « Y », auquel cas des nouveaux problèmes surviendront (ici il suffira que l'extension d'un nom de fichier ne fasse pas trois caractères).

Donc dans l'intérêt de tous, évitez les problèmes XY.
Précisez le contexte lorsque vous demandez de l'aide !