Was ist das XY-Problem?

Was ist das XY-Problem?

Wenn ich Fragen stelle, wie erkenne ich, wenn ich darauf falle? Wie kann ich das tun? Vermeiden Sie es?

Zurück zum FAQ-Index

Kommentare

  • Siehe einen PerlMonks -Post zum selben Thema.
  • trauriges Beispiel für das XY-Problem: stackoverflow.com/questions/2691018/… Haftungsausschluss I ‚ m Dort voreingenommen, da er behauptet, X entdeckt zu haben, anstatt Y
  • Russische Übersetzung für ru.stackoverflow.com
  • Es gibt auch ‚ Japanische Übersetzung für ja.stackoverflow.com
  • Kontrast zu “ Frame-Herausforderungen “ jetzt entmutigt oder verboten auf eine Reihe von SE Websites: interpersonal.meta.stackexchange.com/questions/1495/…
  • Relevanter Abschnitt in “ So stellen Sie Fragen auf intelligente Weise „.
  • @ Sridhar-Sarnobat In Ihrer Analogie wäre eine X → Y-Frage so etwas wie “ Wie kann man das Wachstum von Zelltypen xyz hemmen? durch Reduzieren des Proteinspiegels tuv im Blutkreislauf eines Patienten ‚? „, weil Sie denken Dies ist die einzig mögliche Heilung für Krebs.
  • Hmmmm, Sie ‚ sagen also, dass dies eine zu spezifische Frage ist, und ich sollte hinzufügen, dass die “ reales “ Ziel ist es, Krebs zu heilen. Wenn ja, fairer Punkt. Das gegenteilige Problem ist jedoch, dass Fragen als zu weit gefasst geschlossen werden.
  • Können wir zugeben, dass dies der schlechteste Name für dieses Problem ist? Der Name hat buchstäblich nichts mit dem zu tun, was er beschreibt. Zum Beispiel, wenn jemand so etwas wie “ sagt, stellen Sie den Wagen vor das Pferd „, selbst wenn er ‚ Ich habe es noch nie gehört, bevor sie zumindest einen Hinweis darauf haben, dass etwas rückwärts ist (Pferde ziehen, nicht schieben). ‚ habe jedoch keine guten Ideen für einen alternativen Namen.
  • Manchmal kann es nützlich sein, Dinge auch aus einem breiteren Kontext zu betrachten, wenn man bedenkt, ob was

    s Fortschritt / Ergebnis führt tatsächlich zu einer vernünftigen Lösung

Antwort

Was ist das?

Das Problem XY ist Fragen Sie nach Ihrer versuchten Lösung und nicht nach Ihrem tatsächlichen Problem.

Das heißt, Sie versuchen, das Problem X zu lösen. und Sie denken, dass die Lösung Y funktionieren würde, aber anstatt nach X zu fragen, wenn Sie in Schwierigkeiten geraten, fragen Sie nach Y.

Das Problem

Dies kann zu Frustration bei Personen führen, die versuchen, Ihnen bei der Lösung des Problems zu helfen, da die Lösung, bei der Sie Hilfe benötigen, zu dem Zeitpunkt, zu dem Sie danach fragen, möglicherweise keine offensichtlichen Zusammenhänge aufweist auf das Problem, das Sie zu lösen versuchen.

So vermeiden Sie es

Um nicht in diese Falle zu tappen, geben Sie immer Informationen zu einem breiteren Bild sowie Lösungsversuche an. Wenn jemand weitere Informationen oder insbesondere eine spezifischere Frage anfordert, geben Sie Details an. Wenn es andere Lösungen gibt, von denen Sie glauben, dass sie vorgeschlagen werden und die Sie bereits ausgeschlossen haben, versuchen Sie nicht, sie erneut zu prüfen. Geben Sie stattdessen an, warum Sie sie ausgeschlossen haben, da dies weitere Informationen zu Ihren Anforderungen enthält und hilft anderen, bessere Antworten zu geben.

Ein Beispiel

Eine kürzlich durchgeführte IRC-Konversation zur Veranschaulichung:

F: Gibt es eine Funktion zum Zurückgeben einer Zeichenfolge zwischen zwei Trennzeichen?

B: Ich verstehe nicht, was Sie meinen, aber ich bezweifle, dass es bereits eine Funktion gibt

C: Teilen und schneiden

D: Partition auch

F: Ich habe Partition
F: Ich habe versucht, integrierte Funktionen zu verwenden, um die Nummer abzurufen zwischen so etwas in einer Zeichenfolge “ attribute1: 50.223, attribute2: 442.1 “

D: Warum nicht einfach die Zeichenfolge analysieren?

F: Ich dachte, es könnten einige eingebaute Parsing-Inhalte vorhanden sein

D: pair = [x.strip () für x in s.split („, „)]; attribs = {k: v für x paarweise für k, v in [x.split („: „)]}
D: Es gibt nur wenige Bibliotheken, aber vereinfachte Formate sind einfach genug – wenn Sie sich nicht um Fehler kümmern Behandlung
D: Ändern der Quelle, um ein bekanntes Format zu verwenden, z json oder yaml wird bevorzugt, wenn möglich

F: Dieser Code stammt tatsächlich aus HTML
F: Aber ich weiß nicht, wie ich Javascript mit HTMLParser oder wie auch immer es heißt

D: Ist es lediglich in HTML oder eine verstümmelte Version von HTML eingebettet?

F: Es ist in den HTML-Code

D: Wenn es sich um JavaScript handelt (und das mit Ausnahme fehlender äußerer Klammern), kann JSON es wahrscheinlich analysieren.

F: Danke

D: Ich habe es nicht explizit gesagt: JSON analysiert nur Datenstrukturen, nicht JS-Code

F: Das ist alles, was ich analysieren muss, ist eine Datenstruktur

Das Problem besteht darin, JavaScript-Datenstrukturen zu analysieren und nicht “ eine Zeichenfolge zwischen zwei Trennzeichen zu finden „, aber es braucht ziemlich viel Zeit und Intuition, um zum eigentlichen Problem zu gelangen.

Dies ist in einem vollständig interaktiven Chat (unabhängig von welchem Modus) einfacher, jedoch auf einer SE-Site Wenn Sie einen Beitrag ein wenig polieren, veröffentlichen und dann 5 bis 30 Minuten oder länger Zeit vor dem Feedback haben, ist es wirklich hilfreich, von Anfang an in die richtige Richtung zu gehen.

Kommentare

  • IMO XY-Probleme sind manchmal nützlich, da die Antworten dem Fragesteller helfen können, zu verstehen, warum ihre Lösung nicht ‚ funktioniert, und das Original besser zu verstehen Problem in diesem Prozess.
  • Der einfachste Weg, um zum eigentlichen Problem zu gelangen, besteht normalerweise darin, fünfmal nach dem Warum zu fragen.
  • Wenn Sie jedoch mit Y anstelle von X beginnen, haben Sie möglicherweise um zu fragen warum 10 mal (oder mehr, wende die 5 warum auf jedes Level an?). 🙂
  • Warum Y – das ‚ ist die zu stellende Frage
  • Um fair zu sein, fragen Fragesteller oft nach X und Die Antwort lautet „, dass ‚ zu viel ist. Zerlegen Sie es auf ein kleines Beispiel “ und so isoliert das Poster den Lösungsversuch Y und jeder verliert das ursprüngliche Problem aus den Augen.
  • Manchmal stecken Sie mit Y fest. In meinem ersten Job musste ich einen Webshop modifizieren. Die Codebasis war eine faule Mischung aus HTML-PHP und js. Es gab zwei Möglichkeiten, um Probleme zu beheben: Wiederholen Sie das Ganze (vom Chef abgelehnt) und fügen Sie mehr Band hinzu. SO hat mir da nicht wirklich geholfen. “ Wie geht das? “ “ Warum sollten Sie das tun? “ “ Weil ich “ “ Was ist Y / Tun Sie dies nicht / warum verwenden Sie {antipattern}? “ “ Weil ich
  • @OliverA. Dann wird ein Teil der Frage zu einer Erklärung, warum Sie Y ausführen müssen. “ Ich muss Y ausführen, weil Legacy / Boss / altes Framework “ dann wird die Frage einfacher zu beantworten und für alle wertvoller.
  • @LegoStormtroopr Außer, dass viele Leute ‚ das nicht verstehen. Sie ‚ verstehen nicht, dass Sie manchmal ‚ nicht den Luxus haben, den richtigen Ansatz zu wählen, und nur um vorhandenen Code zu unterstützen, und die Frage wird als zu eng oder so geschlossen geschlossen …
  • Ich habe solide Versuche unternommen, alle meine Fragen auf so viel wie eine Y “ wie möglich. Ich habe kein Interesse daran, den gesamten Umfang meines Problems darzulegen (insbesondere, wenn ich an meinem Arbeitsplatz an proprietärer Closed-Source-Software arbeite), und ich habe Lust darauf (mit Ausnahme derjenigen, die darauf bestehen, die Kette mit warum? warum? warum? „) Ich kann schneller eine Antwort erhalten, indem ich meine Fragen aus dem gesamten Kontext kapsle.
  • Es kommt darauf an auf dem Gesamtwissen des Fragenden ‚ über den Problemraum.Ich stimme n00n zu, für diejenigen, die mehr Erfahrung mit den Alternativen haben, haben sie möglicherweise bereits alle möglichen X ‚ s ausgeschlossen, und jetzt ist X eine Konstante, und sie wollen nur lösen für Y. Es lenkt von der Frage ab, alle möglichen X ‚ s durchgehen zu müssen, die Sie ‚ bereits ausgeschlossen haben, und sich mit Büropolitik oder bestehender Systemarchitektur befassen. Jemand, der weniger Erfahrung hat, könnte davon profitieren, dass andere ‚ alternative X ‚ s überprüfen und vorschlagen, diese Voraussetzung zu überdenken.
  • Das Gegenbeispiel: Ich: Gibt es eine Möglichkeit, das aktuelle Verzeichnis in Java zu ändern? Sonstiges: In Java müssen Sie ‚ das nicht tun. Was möchten Sie tun? Ich: (seufz) OK, ich habe eine ausführbare JAR für ein Programm, das einen Port abhört und Nachrichten austauscht. Das Glas befindet sich normalerweise in x / bin und die Konfiguration in x / conf. Das Programm liest also seine Konfiguration von ../conf. Jetzt möchte ich das auf einem Tomcat-Server ausführen, indem ich die Hauptmethode des Programms ‚ selbst aufrufe. Ich habe jedoch keine Kontrolle über das Ausgangsverzeichnis des Servers ‚ und “ ../conf“ ist kein akzeptabler Ort.
  • (Forts.) Ich frage mich also, ob es eine Möglichkeit gibt, das Home-Verzeichnis für einen Thread zu ändern. Andere: Oh, ich verstehe. Nun, Sie können ‚ das in Java nicht tun. Ich: Warum kannst du mir das nicht früher sagen, ‚? – In diesem Fall stellte ich Frage X und mir wurde Frage Y (Verwendung von Dateien in Java) beantwortet.
  • Normalerweise möchte ich nicht, dass Leute mein Problem lösen, sondern nur meine Frage beantworten. Es kann ziemlich ärgerlich sein, wenn Leute versuchen, eher mit dem ersteren als mit dem letzteren zu helfen.
  • @NoctisSkytower Aber meistens ist jede Antwort kontextabhängig … F: “ Wie kann ich X in C ausführen? “ A: “ Es gibt 20 verschiedene Möglichkeiten, jede mit ihren eigenen Fallstricken und Anwendungsfällen. Sie können sie selbst studieren und alle Fehler machen, die andere gemacht haben, oder Sie können uns sagen, welches Problem Sie damit lösen möchten, und wir können Ihnen den besten Ansatz geben ! “ F: “ Ich möchte nicht ‚ Ein Vortrag gibt mir nur eine Antwort. Es ist mir egal, ‚! “ – A: “ -.- bye. “
  • Nicht programmierende SE-Sites verlinken auf diese Antwort, um das XY-Problemkonzept zu erläutern. Ein universelleres Beispiel (ohne Programmierung) wäre noch hilfreicher.

Antwort

Das XY-Problem, wie es manchmal genannt wird, ist eine mentale Blockade, die zu einer enormen Verschwendung von Zeit und Energie führt, sowohl seitens der Menschen, die um Hilfe bitten, als auch seitens derjenigen, die Hilfe leisten. Es geht oft so etwas

  • Benutzer möchte X ausführen.
  • Benutzer weiß nicht, wie X ausgeführt werden soll, glaubt jedoch, dass er den Weg zu einer Lösung finden kann, wenn Sie können es einfach schaffen, Y zu tun.
  • Der Benutzer weiß auch nicht, wie er Y ausführen soll.
  • Der Benutzer bittet um Hilfe bei Y.
  • Andere versuchen es Helfen Sie dem Benutzer mit Y, aber Sie sind verwirrt, weil Y ein seltsames Problem zu lösen scheint.
  • Nach viel Interaktion und Zeitverschwendung wird endlich klar, dass der Benutzer wirklich Hilfe mit X möchte und dass Y. war nicht einmal eine geeignete Lösung für X.

Das Problem tritt auf, wenn Menschen ihren Gedankengang auf einen Ansatz beschränken und nicht mehr in der Lage sind, einen Schritt zurückzutreten. Offen bleiben für einen neuen Wenn Sie das Gesamtbild betrachten, finden diese Personen möglicherweise den Weg zurück zu X und suchen weiter nach alternativen Lösungen.

Siehe „ XyProblem “ für Weitere Informationen.

Kommentare

  • Ich denke auch, dass diese Antwort notwendig ist Ergänzung zur Erklärung. Ich habe das Obige gelesen, versucht, über mein aktuelles Problem nachzudenken (ob es sich um eine X- oder eine Y-Frage handelt), und als ich diesen Kommentar weiter las, erhielt ich die “ aha “ Moment des Verstehens, dass ich, wenn ich meine Frage gestellt hätte, nach dem Y und nicht nach dem X gefragt hätte. Die Wiederholung meiner Situation könnte eine mentale Blockade sein, die sich darauf konzentriert, wie ich das löse Das Problem ist sehr hilfreich, anstatt das Problem, das ich lösen möchte, klar anzugeben.
  • Ich denke, es liegt in der Verantwortung des Benutzers ‚. Ich ‚ habe oft das Problem getroffen, dass ich das Problem X lösen wollte, und alle schlugen Y und Z vor. Aber wenn ich eine Lösung für Y oder Z gewollt hätte, ist dies was ich gefragt hatte. Ich finde das ein bisschen peinlich, nicht nur, weil die Antworten, die ich bekomme, nicht zu meiner Frage gehören, sondern auch, weil ich mich unterschätzt fühle.Seitdem vermisse ich absichtlich alle Details, die meine Antwortenden auf diese schlechte Weise irreführen könnten.
  • Diese spezielle Antwort erinnert mich an Maslows ‚ s Hammer
  • ch bin mit der Antwort nicht einverstanden. Wenn Sie Problem X haben und Y als Lösung angeben und um Hilfe für Y bitten, stellen Sie ‚ Ihr (wahrscheinlich fehlerhaftes) Verständnis des Problems her. Wenn ich jemandem helfen möchte, möchte ich nicht nur seine X-Frage kennen, sondern auch, wie er gerade denkt (das Y). Manchmal ist es ‚ wichtiger, zu lehren, wie zu denken ist, als zu lehren, was zu denken ist. Und das XY-Problem gibt mir wichtige Hinweise, wie ich genau das tun soll.

  • Tatsächlich ist es besonders unfreundlich, XY-Probleme zu ermahnen. Und (um es zu sagen, oh, eins): Der Stackoverflow war in dieser Hinsicht in den letzten Jahren grausam. Ich ‚ bin der Meinung, dass die anderen programmiererzentrierten SE-Sites ‚ nicht so irreparabel versauen wie sie.
  • @ tgm1024 Ich verstehe ‚ Ihre Kommentare nicht ganz. Das XY-Problem besteht nicht darin, dass ein Benutzer seinen Denkprozess einbezieht, indem er sowohl X als auch Y in die Frage eingibt. Es ist ‚, wenn der Benutzer nicht ‚ t schließt ihren Denkprozess ein und gibt nur das Y an, da es gerade in diesem Fall ‚ schwierig ist, ihnen das Denken beizubringen.

li> @JiK, Sie identifizieren es entweder als XY-Problem oder Sie ‚ t. Wenn Sie dies tun, sind Sie ‚ über das X gut informiert. Wenn Sie ‚ t nicht, dann ‚ nimm besser nicht an, was das X ist, da das präsentierte Y tatsächlich eine gültig geformte Frage sein könnte .

  • Benutzer tut dies nicht ‚ weiß nicht, wie man X macht, denkt aber, dass sie ihren Weg zu einer Lösung finden können, wenn sie es nur schaffen, Y zu machen. Klingt so, als wären alle Probleme für mich gelöst: P. Im Extremfall sollte jeder seine Frage mit “ beginnen. Ich möchte mein Leben / die Welt auf irgendeine Weise verbessern. Ich wurde 19 geboren … “
  • Manchmal ist das ‚ ziemlich richtig. Vor vielen Jahren, nachdem sich mein Oracle-DBA an mich (seinen Systemadministrator) gewandt und müde gesagt hatte: “ Irgendwie ist irgendwo etwas schiefgegangen “ Ich habe mir ein T-Shirt damit gemacht. Es ist in vielerlei Hinsicht ein perfekter Fehlerbericht , weil es ‚ keine Annahmen macht, die ich dann widerlegen muss: Es beginnt mit his Problem und lässt mich seine Beobachtungen und seine Erwartungen durchgehen, um zu sehen, wo die Nichtübereinstimmung mit der Realität sein könnte.
  • @ tgm1024 It ‚ geht es darum, zu vermeiden, dass sowohl der Fragesteller als auch die Antwortenden viel Zeit für verschwenden. Wenn Sie die Vorbehalte eines möglicherweise gültigen Y kennen, sollten Sie diese Informationen in Ihre Frage aufnehmen. Weitere Fragen nach X werden vermieden. Wenn Sie ‚ nicht wissen, dass die Vorbehalte nach X wahrscheinlich genau das sind, was Sie brauchen, da eine Lösung für Y Ihnen nicht sehr helfen wird. Es wäre nicht unfreundlich, sie nicht auf die richtige Lösung hinzuweisen und sie stattdessen mit einer schlechten Lösung zu belassen.
  • @trixn, ich ‚ bin mir nicht sicher, wo wir sind nicht zustimmen. — > Wenn Sie das Problem X haben und Y als Lösung angeben und um Hilfe für Y bitten, was ‚ ist Dadurch wird Ihr (wahrscheinlich fehlerhaftes) Verständnis des Problems hergestellt. Wenn ich jemandem helfen möchte, möchte ich nicht nur seine X-Frage kennen, sondern auch, wie er gerade denkt (das Y). Manchmal ist es ‚ wichtiger zu lehren, wie man denkt, als zu lehren, was zu denken ist. Und ihr angemessenes und wertvolles XY-Problem gibt mir wichtige Hinweise, wie ich genau das tun soll.
  • @ tgm1024 Das haben Sie buchstäblich bereits gesagt Vor. Mein Punkt war über Ihre Aussage, dass das Ermahnen von XY-Problemen besonders unfreundlich ist. Natürlich ist es ‚ auch eine Frage, wie Sie Ihren Verdacht ausdrücken, dass eine Frage ein XY-Problem sein könnte. Aber im Allgemeinen stimme ich ‚ nicht zu, dass es noob-unfreundlich ist, einen Fragesteller darauf hinzuweisen, da es tatsächlich das sein könnte, was er / sie tatsächlich braucht. Aus diesem Grund bitte ich ‚ normalerweise um weitere Informationen zum Anwendungsfall. Wenn Y eine leicht zu beantwortende Frage ist, beantworte ich sie normalerweise trotzdem mit dem Hinweis, dass dies möglicherweise sowieso nicht die gewünschte Lösung ist.
  • @trixn, natürlich können Sie jemanden in die richtige Richtung weisen, und natürlich Sie können jemanden zu einer neuen Sichtweise führen.Um jedoch mit der Vorstellung zu beginnen, dass die Fragenbildung selbst irgendwie falsch ist, bin ich ‚ in starkem Widerspruch zu. Schauen Sie sich zum Beispiel das hyperbolische Zitat in der 71 von Jonathan Benn abgegebenen Antwort an: “ Spezifisch für Q & A, die Schädlichkeit eines Das XY-Problem ergibt sich aus der Tatsache, dass es für alle Beteiligten frustrierend ist. “ Das ist einfach Unsinn. Die XY-Frage ist wertvoll. Es ist ‚ nur frustrierend für Leute, die es so wünschen.
  • Tolle Erklärung. RE: “ und dass Y ‚ nicht einmal eine geeignete Lösung für X “ war,
  • Ich denke, dass Y manchmal eine Lösung für X sein kann. Aber es ist keine natürliche oder praktische Lösung.

  • Imo, dies ist diejenige, die oben sein sollte. Keine Beleidigung bei der Top-Antwort, aber ich zuerst Lesen Sie das und es hat mich am Kopf kratzen lassen und dann bin ich runtergekommen, um das zu sehen und die Antwort wurde mir kristallklar.
  • Antwort

    Ein XY-Problem scheint eine Teilmenge des Einstellungseffekts zu sein, bei dem ein Problemlöser an einer bestimmten Lösung hängen bleibt und nicht in der Lage ist mental zurückgehen, um potenziell überlegene Lösungen zu sehen. Dieses psychologische Phänomen betrifft alle, Anfänger und Experten gleichermaßen.

    Warum Ihre erste Idee Sie für eine bessere blind machen kann „, erklärt ein Beispiel vom Schach, bei dem eine Person in einem Spiel mit einem erstickten Partner mit 5 Zügen gewinnt. Im nächsten Spiel sieht derselbe Spieler keinen schnelleren 3-Zug-Partner, weil er an der Idee eines 5-Zug-Partners festhält.

    Spezifisch für Q & A, die Schädlichkeit eines XY-Problems beruht auf der Tatsache, dass es für alle Beteiligten frustrierend ist:

    1. Die Person, die die Frage stellt, stellt die falsche Frage (welche) bezieht sich eher auf ihre versuchte Lösung als auf das ursprüngliche Problem) und findet es dann schwierig, die Frage zu klären, weil sie an ihrer eigenen Lösung festhalten. Die vorgeschlagenen Antworten sind unbefriedigend, da sie nicht darauf eingehen, wie die Lösung des Autors implementiert werden soll.
    2. Personen, die die Frage beantworten, finden es frustrierend, weil die vorgeschlagene Lösung für sie keinen Sinn ergibt, da sie sich dem nähern Problem aus einem neuen Blickwinkel und sind (vermutlich) nicht vom Einstellungseffekt betroffen, und es fällt ihnen schwer, das Originalplakat zur Klärung ihrer Frage zu erhalten.

    Kommentare

    • Interessant, wie die Beschreibung von Einstellung effect auf einem offensichtlichen Fehler beruht. Luchin experimentierte, wie Menschen das Problem aus seiner unvollständigen und mehrdeutigen Beschreibung ableiten würden (war er es? Fragen Sie nach einer Optimierung für die Latenz oder einer Optimierung für den Durchsatz?) Er täuschte sich jedoch vor, er experimentiere angeblich immer noch mit „, wie Menschen zu Lösungen kommen „. Das ist vielleicht eine referentielle Sache. Luchin war so auf sein Interesse konzentriert, dass er es nicht bemerkt hat, als er sich einem ganz anderen Problem zuwandte.
    • Meine Quelle war Scientific American. Wenn Sie Einwände erheben, können Sie es mit ihnen aufnehmen;)
    • Ich denke, es ist besser Ein Beispiel aus dem Schach wäre so etwas wie ein Spieler, der sich darauf konzentriert, einen komplizierten Schachmatt mit unzureichendem Material zu erreichen, während er die Tatsache übersieht, dass er einen Bauern hat, der Königin werden könnte.

    Antwort

    Das Problem Fehlendes quadratisches Puzzle ist eine gute Illustration. Es zeigt einen einfachen und universellen Problem- / Frage- / Lösungsprozess, bei dem „eine Illusion“ Komplikationen verursacht.

    Es gibt ein selbstverständliches Problem — 1 × Ein Loch darin entsteht in der zweiten Abbildung —, aber die Lösung ist erst offensichtlich, nachdem wir wissen (wie ein Ei von Columbus) … Alle Menschen, Experten und Nicht-Experten, Stimmen Sie zu, dass ein Problem vorliegt.

    Geben Sie hier die Bildbeschreibung ein.

    • normaler Benutzer : denkt, dass „es zwei äquivalente Zahlen gibt, die“ Gesamtdreiecke „in einem perfekten 13 × 5-Raster. . „, gefolgt von der Frage:

      • Problem Y : „Warum hat das zweite äquivalente Dreieck ein Loch?“ .
  • Expertenbenutzer : Denken Sie an etwas wie „oops“ , sie sind ähnlich , aber keine „perfekt äquivalenten“ Zahlen „, gefolgt von der Frage:

    • Problem X : „Wie kann man zeigen, dass sie keine perfekten Äquivalente sind?“ .
  • Der clevere Geometrieexperte denkt in „ähnlichen Geometrien, die keine perfekten Äquivalente sind“.

    Der normale Benutzer denkt fälschlicherweise in Bezug auf die genaue -Kongruenz . Die Verwendung der falschen Hypothese , erzeugen Sie schlechte Y Fragen.


    Das“ XY-Problem „als Spezialisierung des“ falschen Hypothesenverhaltens „

    Sie möchten die eigentliche Frage X lösen und denken an einen Y -Kontext und versuchen es Um die Frage Y zu verwenden. Anstatt nach dem Kontext X zu fragen, fragen Sie nach dem Kontext Y.
    (als @Gnome oben bemerkt , aber mit anderen Worten)

    Also „XY-Problem“ ist nur ein weiterer (spezialisierterer) Begriff, der „Verwendung von falscher Arbeitshypothese .

    Kommentare

    • Bitte überprüfen Sie Ihre Ablehnung, die ich bearbeitet habe, um die persönliche Meinung von dieser allgemeineren und möglicherweise interessanteren Form zu trennen, um “ Was ist „.
    • Ich erhalte Ihre Bedeutung aus Ihrer Antwort und Sie ‚ ist derjenige, der die Frage mit animierter Illustration beantwortet. Wenn mein Ruf (in dieser Meta-Community) es mir ermöglicht, abzustimmen, werde ich dies abstimmen.
    • Diese Antwort zeigt ein typisches Anwendungsfall , wenn “ denkender Imperativprogrammierer “ eine Frage zur funktionalen Sprache stellt … Die vorgeschlagene Lösung : Fragen Sie in der obersten Ebene.
    • Entschuldigung, warum hat das zweite äquivalente Dreieck ein Loch?
    • Hallo @KorayTugay, Ihre Frage ist nicht möglich (es ist ein klassisches Problem, Sie können also klassische Erklärungen verwenden, siehe meinen Wikipedia-Link!). PS: Ich sehe das Loch gerne als den Unterschied , da die Dreiecke ähnlich sind und nahezu dieselbe Fläche haben, aber nicht genau dieselbe Fläche, sodass Sie konstruieren können das Loch aus dem kleinen Streifen des geometrischen Unterschieds.
    • @koraytugay Schauen Sie sich den Punkt an, an dem sich die roten und blauen Dreiecke berühren, wenn die Animation zurückgesetzt wird. Es wird klar, dass das blaue Dreieck steiler “ als das rote. Wenn sich also das blaue Dreieck unten befindet, ist die Hypotenuse “ konvex “ und oben ist es “ konkav „. Diese “ Biegung “ der Hypotenuse führt zu einem Unterschied von einem Quadrat ‚ im Bereich

    Antwort

    Vermeiden des XY-Problems

    Ich behaupte, dass Sie es nicht vermeiden können. Nicht ohne einfach Ihre Programmanforderungen auf SO zu werfen und sie zu bitten, Ihr Design für Sie zu erstellen ( nicht empfohlen) .

    Ich argumentiere dies, weil der Entwurfsprozess für alle Software auf einem Startsatz von Anforderungen „A“ basiert. Von dort aus sagen Sie „Ich kann A erreichen, wenn ich B mache und C „. Von dort aus sagen Sie“ Ich kann B erreichen, wenn ich D und E mache, und ich kann C erreichen, wenn ich F und G mache „. Und das geht bis zu dem Punkt weiter, an dem wir sagen:“ Ich kann X erreichen, wenn ich Y mache „. Wir machen das normalerweise so schnell, dass wir nicht einmal über den Prozess nachdenken.

    Das Hauptproblem mit dem XY-Problem ist also, dass Y nicht möglich ist, aber Sie wissen nicht, wie viel von Ihnen Design zum Entspannen zu g und zurück zum X, was möglich ist. Normalerweise wissen Sie nicht einmal, dass Y unmöglich ist, ohne tatsächlich zu fragen. Sie wissen nicht, was Sie nicht wissen. Daher ist es unvermeidlich,


    Fragen stellen, bei denen Sie Gefahr laufen, in XY zu fallen

    Das Beste, was Sie gegen das XY-Problem tun können, ist zu schützen dagegen, wenn Sie Fragen stellen. Stellen Sie immer noch dieselbe Frage, aber geben Sie so viele relevante Informationen wie möglich an:

    • Geben Sie Ihr Problem an
    • Geben Sie an, was Sie sind versuchen zu erreichen
    • Geben Sie an, wie es in Ihr breiteres Design passt.

    Dies hilft den Leuten, das XY zu erkennen und Ihnen viel schneller zu helfen.


    WICHTIG: Antworten auf XY-Probleme geben

    Meiner Meinung nach das größte Problem mit XY-Fragen sind die (häufig) nicht hilfreichen Antworten, die sie provozieren. Wir werden niemals aufhören, diese Fragen zu stellen. Das Beste ist also, zu verstehen, wie wir sie schnell beantworten können und effektiv.

    Ironischerweise werden viele dieser schlechten Antworten und Antworten von denen gegeben, die am hilfreichsten sein wollen, und können von einigen der seriösesten Personen im Forum / SO gegeben werden.

    Ich habe eine Methode zur Beantwortung dieser Fragen entdeckt, die anscheinend dazu beiträgt, die mit XY-Problemen verbundene Psychologie zu umgehen und den OP einer Frage zu einer funktionierenden Lösung zu führen. Die Beantwortung der Methode dauert etwas länger Die erste Instanz schließt jedoch die Q / A-Schleife viel schneller.

    Ich schlage vor, dass Sie die Frage in drei Teilen beantworten und sie in der folgenden Reihenfolge angeben.

    1. Beantworten Sie die Frage des OP . Auch wenn das OP wahrscheinlich etwas anderes benötigt, vergessen Sie niemals, die Frage zu beantworten, die sie tatsächlich zuerst gestellt haben, und nicht die Frage, von der Sie glauben, dass sie beantwortet werden soll. In einigen Fällen lautet diese Antwort möglicherweise „Y ist nicht möglich“ . Zu oft sehe ich Antworten (Kommentare) mit der Frage „Warum brauchst du das?“ . Dies gibt dem OP nichts. Wenn Sie „“ sagen, wird das wirklich schwer. Erklären Sie, warum Sie es brauchen. Möglicherweise können wir Ihnen helfen. „ In vielen Fällen nimmt ein OP einfach das “ Y ist wirklich schwer „ und kehrt zum Zeichenbrett zurück. Das ist in Ordnung, weil Sie ihre Frage beantwortet haben und sie möglicherweise selbst mit Frage X zurückkommen.

    2. Diskutieren Sie die versuchte Lösung des OP . Dieses Bit ist knifflig und erfordert einige Überlegungen. Aber ich kann nicht betonen, wie wichtig es ist. Wenn das OP nach Y gefragt hat und Sie glauben, dass sie X wollen, sprechen Sie nach Beantwortung ihrer Frage (1) weiter über Y (NICHT X). Wofür soll Y verwendet werden? Wie ist es nicht auf X anwendbar? Das Entscheidende ist, weiter über die Frage zu sprechen, aber von der Beantwortung zur Bereitstellung hilfreicher Informationen überzugehen. Denn nach all dem, was das OP Ihrer Meinung nach braucht. Hilfreiche Informationen und nicht die Antwort auf ihre Frage.

    3. Lösen X Das ist es, worauf Sie schon immer gewartet haben, und es ist schließlich der springende Punkt Ihrer Antwort. Sie haben das OP zu ihren Bedingungen getroffen und ihre Frage beantwortet. Sie haben ihnen geholfen, die Fehler ihrer Frage zu verstehen und warum das Lösen von Y nicht das Richtige ist. Jetzt sind Sie völlig berechtigt, eine Lösung zu erklären bis X.

    Die meisten Leute sind hier, um zu lernen, daher sind Teil 1 und 2 dieser Antwort genauso wichtig wie Teil 3. Aber zu oft wird Teil 3 darauf angegeben eigene und es ist äußerst frustrierend und bevormundend für das OP, nicht zu erwähnen, dass viele OPs die Antwort nicht akzeptieren.

    Wenn Sie diese Antwort geben, vermeiden Sie auch Verlegenheit, wenn Sie glauben, dass das OP tatsächlich ein XY-Problem hat Alles, was Sie getan haben, ist, ein paar zusätzliche Informationen zu geben. Wenn Sie nur Teil 3 angeben, besteht die Gefahr, dass Sie die Frage nicht gelesen haben.


    Übrigens. Lesen Sie die Frage noch einmal und lesen Sie diese Antwort … beachten Sie die drei Teile?

    Kommentare

    • As “ XY-Problem “ ist eine Art von “ Verwendung von falsch Hypothese “ , die Stackoverflow-Community muss helfen, die richtige Hypothese zu zeigen … Dies ist der Fokus in Ihrem “ Antworten auf XY-Probleme geben „?
    • @PeterKrauss In gewissem Sinne. Das ist eher eine Annahme (ich stimme zu, dass die Community dies tun sollte) . Ich gehe davon aus, dass jemand, der die Frage beantwortet, Teil 3 geben möchte – die richtige Hypothese. Das Problem des XY-Problems liegt in der verschwendeten Zeit. Der Schwerpunkt dieser Antwort liegt also darauf, hervorzuheben, dass es keine Zeitverschwendung ist, Zeit damit zu verbringen, die Teile 1 und 2 im Voraus zu geben, sondern auf lange Sicht Zeit spart. Sie haben Recht, dass diese Antwort auf die Verwendung falscher Hypothesen verallgemeinerbar ist.
    • Zu oft nimmt das OP die Antwort auf Y und läuft, ohne weiterzulesen oder zu bemerken, dass Y das war falsche Lösung für X. Aus diesem Grund habe ich ‚ ihnen lieber keine Antwort gegeben, die missbraucht wird. Ich ‚ würde eher riskieren, sie zu beleidigen, um zur richtigen Lösung zu gelangen, als weiter zu schlechtem Code und fehlerhafter Logik beizutragen.
    • @Tom That ‚ ist in Ordnung, in diesen Fällen fragen Sie nach “ nach etwas, das wirklich schwierig ist “ oder “ Sie sollten ‚ dies nicht tun, es ist ‚ eine wirklich schlechte Idee “ Typ Teil (1) sind völlig angemessen.
    • Ich habe laut gelacht, nachdem ich dies gelesen und zurückgeschaut habe. Hervorragende Antwort, hervorragende Beobachtungen, hervorragende Vorbildfunktion.
    • Ich möchte hinzufügen, dass der Zweck dieser Website nicht nur darin besteht, der ursprünglich gestellten Person zu helfen, sondern auch ein Repository für andere zu erstellen wer findet die frage später. Auch wenn Y nicht der richtige Weg ist, um X zu tun, kann es in anderen Kontexten für sich genommen nützlich sein, sodass die Beantwortung von Y auch wertvoll sein kann.
    • Dies beantwortet die eigentliche Frage tatsächlich richtig, während andere nur Fakten angegeben haben.

    Antwort

    (getrennt von meiner anderen Antwort, weil diese mehr Meinung als Erklärung hat)

    Wenn Sie zustimmen, dass das „XY-Problem“ nur ein anderer (spezialisierterer) Begriff für „Verwendung falscher Arbeitshypothesen“ ist, as hier dargestellt und erklärt und ähnlich dem „Einstellungseffekt“ hier erklärt von @Jonathan Benn

    Wir können in einigen Hauptsituationen denken:

    • Rush Situation: Die falsche Hypothese ist nur eine Nebenwirkung in Bezug auf Sprache oder Übervereinfachung, die vom Benutzer mit etwas mehr Aufmerksamkeit und Investitionen korrigiert werden kann mehr Zeit zum Bearbeiten der Frage.

    • Normale Situation: wie in der illustrierte Missi ng Quadratisches Puzzle, Sie wissen nicht, dass Ihre Hypothese falsch ist. Dies ist die Hauptsituation, die hier diskutiert werden soll (!).

    Konzentrieren wir uns also auf die normale Situation.


    LÖSUNGEN / DÄMPFER

    Das „XY-Problem“ ist ein gültiges Problem!

    Die Stapelaustauschfrage soll ein Problem anzeigen. Wenn meine Frage hilft, zu zeigen, dass die Das eigentliche Problem ist meine falsche Hypothese , es ist in Ordnung! Es ist ein erster Schritt , und vielleicht brauche ich keine weiteren Fragen, nachdem ich die richtige Hypothese (und versuchen, es selbst zu lösen).

    Beispiel. Siehe „ XPath für xml: lang? Das Testen der Attribut-Selbstachse schlägt fehl „; das eigentliche Problem besteht darin, dass @attribute::self nicht existiert, sodass es sich um eine falsche Hypothese zum Titel der Frage handelte.

    Die help/mcve -Lösung weist Einschränkungen auf.

    Stapelüberlauf „s help/mcve Begründung : „So erstellen Sie ein M Inimal, C omplete und V erifizierbares E xample „kann verwendet werden, um das XY-Problem zu vermeiden.

    Aber die Bearbeitungskosten (Zeit und Aufmerksamkeit teuer) und die Wahrnehmung, dass es sich um eine Art Verschmutzung in Ihrem Text handelt (ein „schlechtes Marketing“ für die Frage), sind Nachteile.

    Es ist richtig, das Problem auch zu vereinfachen und erläutern Sie den Punkt genauer.


    Best Practice

    Trainieren Sie Benutzer von Stack Overflow, um zu überprüfen, ob die Vereinfachung sinnvoll ist. Algorithmus für eine gute Frage:

    1. Versuchen Sie, eine MCVE zu erstellen.

    2. Wenn eine MCVE nicht pr ist Versuchen Sie zumindest zu vereinfachen.

      2.1. Testen, auf Inkonsistenzen prüfen, den Leser … simulieren und überprüfen. Produziert Ihre Vereinfachung etwas Seltsames, ändert den Kontext? Überprüfen Sie, um Fehler zu vermeiden.

    3. Hören Sie auf die Kommentare zu Ihrer Frage Versuchen Sie zu klären, die Frage zu bearbeiten, falls erforderlich: Wenn Personen Kommentare abgeben, handelt es sich um ein Beachten Sie , dass Sie mehr Zeit in Ihre Frage investieren können.

    Die falsche Hypothese ist nicht selbstverständlich, aber wenn wir sie vereinfachen, verstärken wir die falschen Effekte und sie wird offensichtlicher.


    PS: Wenn wir andererseits alle Details und den gesamten Kontext erklären und anzeigen und den tatsächlichen Punkt und die Zusammenstellung des Problems überprüfen (wie bei Verwendung von mcve), Die Inkonsistenzen zeigen sich auch mit mehr Beweisen.

    Kommentare

    • ‚ Ich habe die Erfahrung gemacht, dass die MCVE verursacht mehr XY-Probleme, nicht weniger. Es macht eine reinere Abstraktion, indem es den Kontext der ursprünglichen Frage entfernt. Das heißt, das X könnte im Kontext der ursprünglichen Frage enthalten sein, aber das MCVE wird nur so konstruiert, dass es Y ausdrückt.
    • Danke @couling (!). Ja, als Methodik ist MCVE möglicherweise keine “ Best Practice „, sondern eine Möglichkeit, “ … erkläre und zeige alle Details … „. Unser Gehirn arbeitet nach dieser Art der Selbstüberprüfung besser … Sie können den Text bearbeiten und korrigieren, es ist ein Wiki.

    Antwort

    Aushandeln eines Gewerkschaftsvertrags …

    Das XY-Problem ist relevant für den Unterschied zwischen „zinsbasierten“ Verhandlungen (X) und „positionsbasierten“ Verhandlungen (Y).

    X = Das Gesamtgehalt des Mitarbeiters zum Mitnehmen stagniert seit einigen Jahren, während die Lebenshaltungskosten kontinuierlich steigen und der Mitarbeiter mehr zum Mitnehmen benötigt.

    Y = Auswahl von „Sie werden keine Parkgebühren erheben“ als Hügel zum Sterben / die einzige „Lösung“ für X, die der Mitarbeiter zu akzeptieren bereit ist.

    Das Streben nach Y (Stellung nehmen) zielt auf eine sehr spezifische und begrenzte Lösung des Problems ab (X). Es trennt den Mitarbeiter vom Universum der Lösungen für das Problem (X), indem es darauf besteht, dass es nur auf eine sehr spezifische und begrenzte Weise gelöst wird. Wenn dieser Weg (Y) aus irgendeinem Grund für den Arbeitgeber zu beanstanden ist, kommt es zu einer Pattsituation – einem Zeitraum, in dem es keine Lösung für X gibt, in dem eine Lösung für beide Seiten akzeptabel sein muss.

    Wenn der Mitarbeiter X anstelle von Y anstreben kann, bleibt das Lösungsuniversum offen / uneingeschränkt, und der Arbeitgeber kann angeworben werden, um mögliche Lösungen für X zu finden. (Vielleicht stellt sich heraus, dass dies in Ordnung ist Der Mitarbeiter muss die Parkgebühren erhöhen, um die Lebenshaltungskosten zu erhöhen …)

    Dieses Interessen- / Positionsparadigma scheint relevant zu sein, um Fragen zu SO zu stellen, wenn OP um Hilfe bittet, damit ihre Position funktioniert. Manchmal können Sie auf X schneiden, indem Sie einfach fragen: „Warum versuchen Sie das?“; Aber ich frage mich, ob das Streben nach Y manchmal nicht so wertvoll ist. Wie viele von uns haben jemals versucht, etwas zu tun, nur um zu sehen, ob wir es könnten? Jeder hier, der seinen eigenen DNS-Server mit einer bestimmten Art von Software dafür betreibt Grund? 🙂 Könnte nicht die beste Lösung für X sein, aber es ist immer noch interessant …

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.