¿Cuál es el problema XY?
Cuando hago preguntas, ¿cómo reconozco cuando estoy cayendo en él? ¿Cómo puedo ¿evitarlo?
Volver al índice de preguntas frecuentes
Comentarios
Respuesta
¿Qué es?
El problema XY es preguntando sobre su solución intentada en lugar de su problema real.
Es decir, está tratando de resolver el problema X , y cree que la solución Y funcionaría, pero en lugar de preguntar por X cuando tiene problemas, pregunta por Y.
El problema
Esto puede llevar a la frustración de las personas que intentan ayudarlo a resolver el problema porque, cuando lo pregunte, es posible que la solución con la que necesita ayuda no tenga conexiones obvias al problema que está tratando de resolver.
Cómo evitarlo
Para evitar caer en esta trampa, siempre incluya información sobre una imagen más amplia junto con cualquier intento de solución. Si alguien solicita más información, o especialmente una pregunta más específica, proporcione detalles. Si hay otras soluciones que cree que serán sugeridas y que ya descartó, no intente evitar repasarlas nuevamente; en su lugar, indique por qué las descartó, ya que esto brinda más información sobre sus requisitos. y ayuda a otros a proporcionar mejores respuestas.
Un ejemplo
Una conversación reciente de IRC para ilustrar:
P: ¿Existe una función para devolver una cadena entre dos delimitadores?
B: No entiendo lo que quieres decir, pero dudo que ya exista una función
C: Dividir y cortar
D: Partición también
P: Probé la partición
P: Estaba tratando de usar elementos integrados para obtener el número entre algo como esto en una cadena » atributo1: 50.223, atributo2: 442.1 »D: ¿Por qué no analizar la cadena?
P: Pensé que podría haber algunas cosas de análisis integradas
D: pares = [x.strip () para x en s.split («, «)]; attribs = {k: v para x en pares para k, v en [x.split («: «)]}
D: Hay algunas bibliotecas, pero los formatos simplistas son bastante fáciles, si no te preocupas por los errores manejo
D: Cambiar la fuente para usar un formato conocido, p. ej. json o yaml, cuando sea posibleP: Este código en realidad proviene de HTML
P: Pero no sé cómo analizar Javascript con HTMLParser o como se llameD: ¿Es simplemente incrustado en HTML o alguna versión alterada de HTML?
P: Está incrustado en el HTML
D: Si es JavaScript (y eso es, excepto por las llaves externas que faltan), JSON probablemente pueda analizarlo
P: Gracias
D: No lo dije explícitamente: JSON solo analiza las estructuras de datos, no el código JS
P: Eso es todo lo que necesito analizar es una estructura de datos
El problema es realmente cómo analizar las estructuras de datos de JavaScript, no encontrar » una cadena entre dos delimitadores «, pero se necesita bastante tiempo e intuición para llegar al problema real.
Esto es más fácil de hacer en un chat totalmente interactivo (independientemente del modo), pero en un sitio SE , donde pulir un poco una publicación, publicarla y luego tener entre 5 y 30 minutos, o más, antes de recibir comentarios, realmente ayuda a ir en la dirección correcta desde el principio.
Comentarios
- OMI, los problemas XY a veces son útiles porque las respuestas podrían ayudar al interrogador a comprender por qué su solución no ‘ t funcionaría y comprender mejor el original problema en el proceso.
- La forma más fácil de llegar al problema real suele ser preguntando por qué cinco veces.
- Aunque, si comienza con Y en lugar de X, es posible que tenga preguntar por qué 10 veces (o más, ¿aplicar los 5 por qué a cada nivel?). 🙂
- Por qué Y – esa ‘ es la pregunta que hay que hacer
- Para ser justos, muchas veces los interrogadores preguntan sobre X, y la respuesta es » que ‘ es demasiado, divídelo en un pequeño ejemplo » y entonces el cartel aísla su intento de solución Y y todos pierden de vista el problema original.
- A veces te quedas atascado con Y. En mi primer trabajo tuve que modificar una tienda web. El código base era una mezcla podrida de html PHP y js. Había 2 formas de solucionar problemas: Rehacer todo (rechazado por el jefe) agregar más cinta. SO realmente no me ayudó allí. » ¿Cómo hacerlo? » » ¿Por qué harías eso? » » Porque tengo que » » ¿Qué es Y / No hagas esto / ¿por qué estás usando {antipattern}? » » Porque tengo que »
- @OliverA. Luego, parte de la pregunta se convierte en una explicación de por qué necesitas hacer Y. » Necesito hacer Y porque legacy / boss / old framework » entonces la pregunta se vuelve más fácil de responder y más valiosa para todos.
- @LegoStormtroopr Excepto que muchas personas ‘ no entienden eso. No ‘ entienden que a veces no ‘ no tienes el lujo de elegir el enfoque correcto y solo tienes para eliminar el código existente, y la pregunta está cerrada por ser demasiado estrecha o algo así …
- Hice intentos sólidos de resumir todas mis preguntas en un » Y » como sea posible. No tengo ningún interés en detallar todo el alcance de mi problema (especialmente cuando trabajo en software propietario de código cerrado en mi trabajo), y me apetece (excluyendo tratar con aquellos que insisten en recorrer la cadena con » ¿por qué? ¿por qué? ¿por qué? «) Puedo obtener una respuesta más rápido encapsulando mis preguntas en todos los contextos.
- Depende en el conocimiento general del autor de la pregunta ‘ del espacio del problema.Estoy de acuerdo con n00n, para aquellos más experimentados con las alternativas, es posible que ya hayan descartado todos los posibles X ‘ s, y ahora X es una constante, y solo quieren resolver para Y. Resta valor a la pregunta tener que repasar todos los posibles X ‘ s que ‘ ya descartó, y profundizar en la política de la oficina o la arquitectura del sistema existente. Alguien con menos experiencia podría beneficiarse de que otros ‘ revisen las alternativas X ‘ y sugieran que reconsideren esa condición previa.
- El contraejemplo: Yo: ¿Hay alguna forma de cambiar el directorio actual en Java? Otro: en Java, no ‘ es necesario hacer eso. ¿Qué es lo que quieres hacer? Yo: (suspiro) OK, tengo un jar ejecutable para un programa que escucha un puerto e intercambia mensajes. El tarro normalmente se encuentra en x / bin y la configuración en x / conf. Entonces, el programa lee su configuración desde ../conf. Ahora quiero ejecutar eso dentro de un servidor Tomcat llamando al método principal del programa ‘ yo mismo. Pero no tengo control sobre el directorio de inicio del servidor ‘ y el » ../conf» no es un lugar aceptable.
- (cont) Así que me pregunto si hay alguna forma de cambiar el directorio de inicio para un hilo. Otro: Oh, ya veo. Bueno, no puedes ‘ hacer eso en Java. Yo: ¿Por qué no pude ‘ t me lo dijiste antes? – En ese caso, hice la pregunta X y me respondieron la pregunta Y (cómo usar archivos en Java).
- Por lo general, no quiero que la gente resuelva mi problema, solo conteste mi pregunta. Puede ser bastante molesto cuando la gente intenta ayudar con lo primero en lugar de lo segundo.
- @NoctisSkytower Pero la mayoría de las veces cada respuesta depende del contexto … P: » ¿Cómo puedo hacer X en C? » A: » Hay 20 formas diferentes, cada una con sus propias trampas y casos de uso, puede estudiarlas usted mismo y cometer todos los errores que otros han cometido, o puede decirnos qué problema desea resolver con esto y podemos brindarle el mejor enfoque ! » P: » No ‘ no quiero una conferencia solo dame cualquier respuesta, ¡no ‘ me importa! » – A: » -.- adiós. »
- Los sitios SE que no son de programación se vinculan a esta respuesta para explicar el concepto del problema XY. Un ejemplo más universal (sin programación) sería aún más útil.
Respuesta
El problema XY, como a veces se le llama, es un bloqueo mental que conduce a una enorme pérdida de tiempo y energía, tanto por parte de las personas que piden ayuda como por parte de quienes la brindan. A menudo es algo como esto
- El usuario quiere hacer X.
- El usuario no sabe cómo hacer X, pero cree que puede encontrar una solución si simplemente pueden hacer Y.
- El usuario tampoco sabe cómo hacer Y.
- El usuario pide ayuda con Y.
- Otros intentan ayudar al usuario con Y, pero están confundidos porque Y parece un problema extraño que querer resolver.
- Después de mucha interacción y tiempo perdido, finalmente queda claro que el usuario realmente quiere ayuda con X, y que Y Ni siquiera era una solución adecuada para X.
El problema ocurre cuando las personas se quedan atascadas en un enfoque y no pueden dar un paso atrás. Permanecer abiertos a tener un nuevo Mira el panorama general, estas personas podrían encontrar el camino de regreso a X y continuar buscando soluciones alternativas.
Consulte « XyProblem » para más información.
Comentarios
- También creo que esta respuesta es necesaria Además de la explicación. Leí lo anterior, traté de pensar en mi problema actual (ya sea una pregunta X o Y), y cuando leí este comentario, obtuve el » aha » momento de entender que si hubiera publicado mi pregunta, habría preguntado sobre la Y, no sobre la X. La reiteración de mi situación podría ser un bloqueo mental centrado en cómo estoy resolviendo el problema. problema en lugar de indicar claramente el problema que quiero resolver es muy útil.
- Creo que es responsabilidad del usuario ‘. ‘ he encontrado muchas veces el problema, que quería resolver el problema X, y todos sugirieron Y y Z. Pero si hubiera querido una solución para Y o Z, esta es lo que había preguntado. Encuentro esto un poco vergonzoso, no solo porque las respuestas que obtengo no ‘ no pertenecen a mi pregunta, sino también porque me siento subestimado.Ya que, intencionalmente, me olvido de cualquier detalle que pudiera engañar a quienes respondieron de esta manera.
- Esta respuesta en particular me recuerda al ‘ Martillo
- En realidad, amonestar los problemas XY es particularmente desagradable para los novatos. Y (para elegir, oh, uno): stackoverflow ha sido atroz en este sentido en los últimos años. Yo ‘ sostengo que los otros sitios SE centrados en programadores no ‘ carecen de forma tan irreparable como ellos.
- @ tgm1024 No ‘ entiendo bien sus comentarios; el problema de XY no es cuando un usuario incluye su proceso de pensamiento dando tanto X como Y en la pregunta, es ‘ s cuando el usuario no ‘ t incluye su proceso de pensamiento y da solo la Y porque especialmente en ese caso es ‘ difícil enseñarles a pensar .
- @JiK, o lo identifica como un problema XY o no ‘ t. Si lo hace, entonces ‘ conoce bien la X. Si no ‘ t, entonces ‘ Será mejor que no asuma qué es la X, porque la Y presentada podría ser en realidad una pregunta formada válidamente .
- El usuario no ‘ No sé cómo hacer X, pero cree que pueden encontrar una solución si pueden hacerlo Y. Me parece que todos los problemas se resuelven: P. Llevado al extremo, todos deberían comenzar su pregunta con » Quiero mejorar mi vida / el mundo de alguna manera. Nací en 19 … »
- A veces eso ‘ es bastante correcto. Hace muchos años, después de que mi administrador de bases de datos de Oracle se dirigiera a mí (su administrador de sistemas) y me dijera, cansado, » De alguna manera, en algún lugar, algo salió mal » Me hice una camiseta con eso. En muchos sentidos, es un informe de error perfecto porque no ‘ no hace ninguna suposición que luego tenga que refutar: comienza con su problema y me permite profundizar en sus observaciones y sus expectativas para ver dónde podría estar el desajuste con la realidad.
- @ tgm1024 ‘ s acerca de evitar perder mucho tiempo para tanto el que pregunta y el que responde. Si conoce las advertencias de una Y posiblemente válida, debe incluir esa información en su pregunta. Se evitará pedir más X. Si no ‘ no conoce las advertencias, pedir X es probablemente exactamente lo que necesita porque una solución para Y no le ayudará mucho. No sería nada amigable no señalarles la solución correcta y, en cambio, dejarles una mala solución.
- @trixn, ‘ no estoy seguro de dónde discrepar. Sin embargo, — > Si tiene el problema X, indique Y como solución y pida ayuda para Y, ‘ re hacer es establecer su (probablemente defectuoso) entendimiento del problema. Cuando quiero ayudar a alguien, quiero saber no solo su pregunta X, sino cómo es que están pensando actualmente (la Y). A veces es ‘ más importante enseñar a pensar que enseñar qué pensar. Y su problema apropiado y valioso XY me da pistas importantes sobre cómo abordar el hacer precisamente eso.
- @ tgm1024 Eso es literalmente lo que ya dijiste antes de. Mi punto fue acerca de su afirmación de que amonestar los problemas XY es particularmente antipático para los novatos. Por supuesto, ‘ también es una cuestión de cómo expresar su sospecha de que una pregunta podría ser un problema XY. Pero, en general, no ‘ estoy de acuerdo en que señalar a una persona que pregunta hacia eso no es nada amistoso, ya que de hecho podría ser lo que realmente necesita. Esa ‘ es la razón por la que normalmente solicito más información sobre el caso de uso. Si Y es una pregunta fácil de responder, generalmente la respondo de todos modos con una nota de que podría no ser la solución deseada de todos modos.
- @trixn, por supuesto, puede señalar a alguien en la dirección correcta, y por supuesto puedes guiar a alguien hacia una nueva forma de ver algo.Sin embargo, comenzar con la noción de que la formación de la pregunta en sí es de alguna manera incorrecta es con lo que ‘ tengo grandes diferencias. Por ejemplo, mire la cita hiperbólica en la respuesta de 71 votos a favor de Jonathan Benn: » Específico de Q & A, la perniciosidad de un El problema XY proviene del hecho de que es frustrante para todos los involucrados. » Eso es simplemente una tontería. La pregunta XY es valiosa. Es ‘ solo frustrante para las personas que desean que sea así.
- Gran explicación. RE: » y que Y no era ‘ ni siquiera una solución adecuada para X «, Creo que a veces Y puede ser una solución para X. Pero no es una solución natural o práctica.
- Imo, esta es la que debería estar en la parte superior. No te ofendas con la respuesta superior, pero primero Leí eso y me hizo rascarme la cabeza y luego bajé para ver esto y la respuesta me quedó muy clara.
Respuesta
Un problema XY parece ser un subconjunto del efecto Einstellung , donde un solucionador de problemas se atasca en una solución en particular y no puede retroceder mentalmente para ver soluciones potencialmente superiores. Este fenómeno psicológico afecta a todo el mundo, tanto a principiantes como a expertos.
« Por qué su primera idea puede cegarle para ver una mejor » explica un ejemplo desde el ajedrez donde una persona gana con un mate de 5 movimientos sofocado en una partida. En el siguiente juego, el mismo jugador no ve un mate de 3 movimientos más rápido porque está estancado en la idea de un mate de 5 movimientos.
Específico de Q & A, lo pernicioso de un problema XY proviene del hecho de que es frustrante para todos los involucrados:
- La persona que hace la pregunta hace la pregunta incorrecta (que está relacionado con su intento de solución más que con el problema original), y luego les resulta difícil aclarar la pregunta porque están estancados en su propia solución. Las respuestas propuestas no son satisfactorias porque no abordan cómo implementar la solución del autor.
- Las personas que responden la pregunta la encuentran frustrante porque la solución propuesta no tiene sentido para ellos ya que se están acercando al problema desde un ángulo nuevo y (presumiblemente) no se ven afectados por el efecto Einstellung, y les resulta difícil obtener el póster original para aclarar su pregunta.
Comentarios
- Es interesante ver cómo
Einstellung effect
la descripción se basa en un error obvio. Luchin estaba experimentando cómo la gente deduciría el problema de su descripción incompleta y ambigua (era pidiendo optimización para la latencia u optimización para el rendimiento?). Sin embargo, se engañó al pensar que supuestamente todavía estaba experimentando con » cómo las personas llegan a soluciones «. Eso es algo referencial quizás. Luchin estaba tan concentrado en su interés, que no se dio cuenta cuando se desvió a un problema muy diferente. - Mi fuente fue Scientific American, si objeta, puede hablar con ellos;)
- Creo que una mejor Un ejemplo del ajedrez sería algo así como un jugador que se concentra en tratar de lograr un jaque mate complicado con material insuficiente, mientras pasa por alto el hecho de que tiene un peón que podría ser la reina.
Responder
El problema del Falta un cuadrado es un buen ejemplo. Ilustra un proceso simple y universal de problema / pregunta / solución, donde «alguna ilusión» causa complicaciones.
Hay un problema evidente — el 1 × 1 agujero que surge en la segunda figura —, pero la solución es evidente solo después de que sabemos (como un Huevo de Colón) … Todas las personas, expertos y no expertos, Estoy de acuerdo en que hay un problema.
-
usuario normal : piensa que «hay dos figuras equivalentes , los» triángulos totales «en una cuadrícula perfecta de 13 × 5 … . «, siguiendo con la pregunta:
- problema
Y
: «¿Por qué el segundo triángulo equivalente tiene un agujero?» .
- problema
-
usuario experto : piensa algo como «oops , son similares , pero no «cifras perfectamente equivalentes», siguiendo con la pregunta:
- problema
X
: «¿Cómo demostrar que no son equivalentes perfectos?» .
- problema
El experto en geometría inteligente piensa en términos de «geometrías similares que no son» equivalentes perfectos «.
El usuario normal piensa , por error, en términos de congruencia exacta. Por lo tanto, el uso de hipótesis erróneas , producen malas Y
preguntas.
El» problema XY «como una especialización del» comportamiento de hipótesis erróneo «
Quieres resolver la pregunta real: X
, y piensas en términos de un Y
-context e intenta para usar question- Y
. En lugar de preguntar sobre el contexto X
, pregunta sobre el contexto Y
.
(como @Gnome notó arriba , pero usando otras palabras)
Entonces, «Problema XY» es solo otro término (más especializado) para decir «Uso de hipótesis de trabajo incorrecta » .
Comentarios
- Por favor, revise su voto negativo, yo edité para separar la opinión personal de esta forma más genérica y quizás interesante de explicar div id = «f779161cb9»>
qué es «.
Respuesta
Evitando el problema XY
Yo sostengo que no puede evitarlo. No sin simplemente arrojar los requisitos de su programa a SO y pedirles que hagan su diseño por usted ( no recomendado) .
Sostengo esto porque el proceso de diseño de todo el software se basa en un conjunto inicial de requisitos «A». A partir de ahí, dices «Puedo lograr A si hago B y C «. A partir de ahí dices» Puedo lograr B si hago D y E y puedo lograr C si hago F y G «. Y eso continúa hasta el punto en que decimos que» Puedo lograr X si hago Y «. Por lo general, hacemos esto tan rápido que ni siquiera pensamos en el proceso.
Así que el principal problema con el problema XY es que Y no es posible, pero no sabes cuánto de tu diseño para relajarse ag et de vuelta a la X que es posible. Por lo general, ni siquiera sabes que Y es imposible sin preguntar realmente. No sabes lo que no sabes. Por lo tanto, es inevitable
Hacer preguntas en las que corre el riesgo de caer en XY
Lo mejor que puede hacer con respecto al problema XY es proteger en contra al hacer preguntas. Aún así, haga la misma pregunta pero brinde tanta información pertinente como sea posible:
- Exprese su problema
- Indique lo que están tratando de lograr
- Indique cómo encaja en su diseño más amplio
Esto ayudará a las personas a identificar que es XY y lo ayudará mucho más rápidamente.
IMPORTANTE: Dar respuestas a problemas XY
En mi opinión, el mayor problema con Las preguntas XY son las respuestas (con frecuencia) inútiles que provocan. Nunca dejaremos que las personas hagan estas preguntas, así que lo mejor es comprender cómo podemos responderlas rápidamente y efectivamente.
Irónicamente, muchas de estas malas respuestas y respuestas son dadas por aquellos que quieren ser los más útiles y pueden ser dadas por algunas de las personas más reputadas en el foro / SO.
He descubierto un método para responder a estas preguntas que parece ayudar a sortear la psicología asociada con los problemas XY y llevar al OP de una pregunta a una solución funcional. El método tarda un poco más en responder en la primera instancia, pero cierra el ciclo de preguntas y respuestas mucho más rápido.
Le sugiero que responda la pregunta en tres partes y las dé en el siguiente orden.
-
Responda la pregunta del OP . Aunque el OP probablemente necesite algo más, nunca olvide responder primero la pregunta que realmente hizo y no la pregunta que usted cree que quiere que se responda. En algunos casos, la respuesta puede ser «Y no es posible» . Con demasiada frecuencia veo respuestas (comentarios) que preguntan «¿por qué lo necesitas?» . Esto no le da nada al OP. Si dices «Eso» va a ser muy difícil. Explique por qué lo necesita, es posible que podamos ayudarlo «, luego, en muchos casos, un OP simplemente tomará la » Y es realmente difícil « y volverá a la mesa de dibujo. . Eso está bien porque usted respondió a su pregunta y es posible que ellos mismos regresen con la pregunta X.
-
Discuta de la solución intentada por el OP. Esta parte es complicada y requiere un poco de reflexión. Pero no puedo enfatizar lo importante que es. Si el OP ha pedido Y y cree que quiere X, después de responder su pregunta (1) continúe hablando de Y (NO X). ¿Para qué se supone que se debe usar Y? ¿Cómo no es aplicable a X? Lo fundamental es seguir hablando de la pregunta, pero pasar de responderla a proporcionar información útil. Porque después de todo eso es lo que crees que necesita el OP. Información útil y no la respuesta a su pregunta.
-
Resuelve X Esto es lo que ha estado deseando hacer y, después de todo, es el objetivo de su respuesta. Usted se reunió con el OP en sus términos y respondió a su pregunta. Los ayudó a comprender las fallas de su pregunta y por qué resolver Y no es lo que debe hacer … así que ahora está completamente justificado para explicar una solución a X.
La mayoría de las personas están aquí para aprender, por lo que las partes 1 y 2 de esta respuesta son tan importantes como la parte 3. Pero con demasiada frecuencia la parte 3 se incluye en ella. propio y es extremadamente frustrante y condescendiente para el OP sin mencionar que muchos OP no aceptarán la respuesta.
Dar esta respuesta también evita la vergüenza cuando cree que el OP tiene un problema XY cuando en realidad no lo hagas. Todo lo que has hecho es dar un poco de información adicional. Simplemente dando la parte 3 se corre el riesgo de que parezca no haber leído la pregunta.
Por cierto. Lea la pregunta de nuevo y lea esta respuesta … ¿nota las tres partes?
Comentarios
- Como » XY Problema » es una especie de » Uso incorrecto hipótesis » , la comunidad de Stackoverflow debe ayudar a mostrar la hipótesis correcta … Este es el enfoque de su » Dar respuestas a problemas XY «?
- @PeterKrauss En cierto sentido. Eso es más una suposición (estoy de acuerdo en que la comunidad debería) . Supongo que alguien que responde a la pregunta quiere dar la parte 3: la hipótesis correcta. El problema del problema XY radica en el tiempo perdido. Por lo tanto, el enfoque de esta respuesta es resaltar que dedicar tiempo a dar las partes 1 y 2 por adelantado no es una pérdida de tiempo, sino que en realidad ahorra tiempo a largo plazo. Tiene razón en que esta respuesta se puede generalizar al Uso de hipótesis erróneas .
- Con demasiada frecuencia, el OP toma la respuesta a Y y se ejecuta, sin leer o darse cuenta de que Y era el solución incorrecta a X. Debido a esto, ‘ prefiero no darles una respuesta que sea mal utilizada. Yo ‘ prefiero arriesgarme a ofenderlos para llegar a la solución correcta que seguir contribuyendo tanto al código incorrecto como a la lógica defectuosa.
- @Tom That ‘ está bien, en esos casos » estás pidiendo algo que es realmente difícil » o » no deberías ‘ hacer esto, es ‘ una muy mala idea » tipo part (1) son completamente apropiados.
- Me reí a carcajadas después de terminar de leer esto y volví a revisar. Excelente respuesta, excelentes observaciones, excelente liderazgo con el ejemplo.
- Yo agregaría que el propósito de este sitio no es solo ayudar a la persona que originalmente hizo la pregunta, sino también crear un repositorio para cualquier otra persona. quien encuentra la pregunta más tarde. Incluso si Y no es la forma correcta de hacer X, aún puede ser útil por derecho propio en otros contextos, por lo que responder Y también puede ser valioso.
- Esto realmente responde la pregunta real correctamente, mientras que otros simplemente expresan hechos
Responder
(separado de mi otra respuesta porque esta tiene más opinión que explicación)
Si está de acuerdo en que el «Problema XY» es solo otro término (más especializado) para «Uso de hipótesis de trabajo incorrectas», como ilustrado y explicado aquí , y similar al «Efecto Einstellung» explicado aquí por @Jonathan Benn …
Podemos pensar en términos de algunas situaciones principales:
-
Situación urgente : la hipótesis incorrecta es solo un efecto secundario del lenguaje o de una simplificación excesiva, que el usuario puede corregir con un poco más de atención e invirtiendo más tiempo editando la pregunta.
-
Situación normal: como en la Missi ilustrada ng Square Puzzle, no sabes que tu hipótesis es incorrecta. Esta es la situación principal para discutir aquí (!).
Así que centrémonos en la situación normal .
SOLUCIONES / ATENUADORES
¡El «problema XY» es un problema válido!
La pregunta de Stack Exchange es para mostrar un problema. Si mi pregunta ayuda a mostrar que el El problema real es mi hipótesis incorrecta , ¡está bien! Es un primer paso , y quizás no necesite más preguntas después de obtener la hipótesis correcta (y tratando de resolverlo yo mismo).
Ejemplo. Consulte « XPath para xml: lang? La prueba del eje propio del atributo falla «; el problema real es que @attribute::self
no existe, por lo que era una hipótesis incorrecta en el título de la pregunta.
La help/mcve
solución tiene limitaciones
Stack Overflow «s help/mcve
justificación : «Cómo crear un M mínimo, C completo y V erificable E xample «, se puede utilizar para evitar el problema XY.
Pero el costo de edición (tiempo y atención costosos), y la percepción de que es un tipo de contaminación en su texto (un «mal marketing» para la pregunta), son desventajas.
También es correcto simplificar el problema y explicar con más énfasis en el punto.
Mejores prácticas
Capacite a los usuarios de Stack Overflow para verificar si la simplificación tiene sentido. Algoritmo para una buena pregunta:
-
Intente crear un MCVE.
-
Si un MCVE no es pr Actical, intente al menos simplificar.
2.1. Pruebe, verifique si hay inconsistencias, simule el lector … y revise. ¿Tu simplificación produce algo extraño, cambia el contexto? Revise para evitar errores.
-
Escuche los comentarios sobre su pregunta y tratar de aclarar, intente trabajar editando la pregunta si es necesario: si hay personas comentando, es un observe que puede invertir más tiempo en su pregunta.
La hipótesis incorrecta no es evidente por sí misma, pero cuando simplificamos, amplificamos los efectos incorrectos y se vuelve más evidente.
PD: Por otro lado, cuando explicamos y mostramos todos los detalles, todo el contexto, y verificamos el punto real, el ensamblaje del problema (como cuando usamos mcve
), las inconsistencias también se muestran con más evidencia.
Comentarios
- Es ‘ mi experiencia que el MCVE crea más problemas XY, no menos. Hace una abstracción más pura al eliminar el contexto de la pregunta original. Es decir, la X podría estar contenida dentro del contexto de la pregunta original, pero la MCVE se construirá únicamente para expresar Y.
- Gracias @couling (!). Sí, como metodología MCVE tal vez no sea una » práctica recomendada «, pero es una forma de hacer cumplir » … explica y muestra todos los detalles … «. Nuestro cerebro funciona mejor después de ese tipo de auto-revisión … Puedes editar y corregir el texto, es un Wiki.
Responder
Negociar un contrato sindical …
El problema XY es relevante para la diferencia entre la negociación basada en «intereses» (X) y la negociación basada en «posición» (Y).
X = el salario neto total del empleado ha estado estancado durante los últimos años, mientras que su costo de vida aumenta continuamente; el empleado necesita más salario neto.
Y = elegir «no aumentará las tarifas de estacionamiento» como una colina para morir / la única «solución» a X que el empleado está dispuesto a aceptar.
Apuntar a Y (tomar una posición) es apuntar a una solución muy específica y limitada al problema (X). Aísla al empleado del universo de soluciones al problema (X) insistiendo en que solo se resuelva de una manera muy específica y limitada. Si esa forma (Y) es, por cualquier motivo, objetable para el empleador, entonces habrá un punto muerto, un período de tiempo en el que no hay solución para X, donde una solución tiene que ser aceptable para ambas partes.
Si el empleado puede apuntar a X en lugar de Y, entonces el universo de soluciones permanece abierto / sin restricciones, y el empleador puede ser reclutado para ayudar a encontrar posibles soluciones para X. (Tal vez resulte estar bien con el empleado aumente las tarifas de estacionamiento, a cambio de un aumento del costo de vida …)
Este paradigma de interés / posición parece relevante para hacer preguntas sobre SO, cuando OP solicita ayuda para que su puesto funcione. A veces, puede cortar a X simplemente preguntando: «¿Por qué está tratando de hacer esto?»; Pero me pregunto si, a veces, apuntar a Y no es tan valioso. ¿Cuántos de nosotros hemos intentado hacer algo, solo para ver si podíamos? Cualquiera aquí ejecute su propio servidor DNS con algún tipo de software específico para eso. ¿Por qué? 🙂 Puede que no sea tu mejor solución para X, pero sigue siendo interesante …
X
en lugar de resolverY