Hvad er XY-problemet?

Hvad er XY-problemet?

Når jeg stiller spørgsmål, hvordan genkender jeg, når jeg falder i det? Hvordan kan jeg undgå det?

Gå tilbage til FAQ-indeks

Kommentarer

  • Se et PerlMonks indlæg om samme emne.
  • trist eksempel på XY-problemet: stackoverflow.com/questions/2691018/… ansvarsfraskrivelse I ‘ m partisk der, idet han hævder at få øje på X i stedet for at løse Y
  • Russisk oversættelse af ru.stackoverflow.com
  • Der ‘ findes også Japansk oversættelse til ja.stackoverflow.com
  • Kontrast med ” rammeudfordringer ” nu modløs eller forbudt på et antal SE websteder: interpersonal.meta.stackexchange.com/questions/1495/…
  • Relevant afsnit i ” Sådan stilles spørgsmål på den smarte måde “.
  • @ Sridhar-Sarnobat I din analogi ville et X → Y-spørgsmål være som: ” Hvordan kan man hæmme væksten af celletyper xyz ved at reducere niveauet af protein tuv hos en patient ‘ blodbanen? ” fordi du tror det er den eneste mulige kur mod kræft.
  • Hmmmm, så du ‘ siger igen, at det er for specifikt et spørgsmål, og jeg skal tilføje, at ” ægte ” Målet er at helbrede kræft. Hvis ja, fair point. Skønt faktisk det modsatte problem er, at spørgsmål lukkes som for brede.
  • Kan vi indrømme, at dette er det værst mulige navn for dette problem? Navnet har bogstaveligt talt intet at gøre med, hvad det beskriver. Som om nogen siger noget som ” læg vognen foran hesten ” selvom de ‘ har aldrig hørt det før de i det mindste har et tip om, at noget er bagud (heste trækker, ikke skubber). Jeg har dog ikke ‘ nogen gode ideer til et alternativt navn.
  • Nogle gange kan det være nyttigt også at overveje ting fra en bredere sammenhæng i betragtning af hvad ‘ s fremskridt / resulterende er faktisk en tendens til en fornuftig løsning

Svar

Hvad er det?

XY problemet er spørger om din forsøgte løsning snarere end dit aktuelle problem.

Det vil sige, du prøver at løse problemet X , og du tror, at løsningen Y ville fungere, men i stedet for at spørge om X når du løber ind i problemer, spørger du om Y.

Problemet

Dette kan føre til frustration fra folk, der prøver at hjælpe dig med at løse problemet, fordi den løsning, du har brug for hjælp til, muligvis ikke har nogen åbenlyse forbindelser, når du spørger om det. til det problem, du prøver at løse.

Sådan undgår du det

For at undgå at falde i denne fælde skal du altid medtage oplysninger om et bredere billede sammen med enhver forsøgt løsning. Hvis nogen beder om mere information eller især et mere specifikt spørgsmål, skal du angive detaljer. Hvis der er andre løsninger, som du tror vil blive foreslået, og som du allerede har udelukket, så prøv ikke at undgå at gå over dem igen – i stedet for, hvorfor du har udelukket dem, da dette giver mere information om dine krav og hjælper andre med at give bedre svar.

Et eksempel

En nylig IRC-samtale til illustration:

Q: Er der en funktion til at returnere en streng mellem to afgrænsere?

B: Jeg forstår ikke, hvad du mener, men jeg tvivler på, at der allerede er en funktion

C: Opdel og udskær

D: Partition også

Q: Jeg prøvede partition
Q: Jeg forsøgte at bruge indbyggede til at få nummeret mellem noget som dette i en streng ” attribut1: 50.223, attribute2: 442.1 ”

D: Hvorfor ikke bare analysere strengen?

Q: Jeg troede, der kunne have været nogle indbyggede parsing ting

D: par = [x.strip () for x i s.split (“, “)]; attribs = {k: v for x parvis for k, v i [x.split (“: “)]}
D: Der er få biblioteker, men enkle formater er lette nok – hvis du ikke er ligeglad med fejl håndtering
D: Ændring af kilden til at bruge et velkendt format, f.eks. json eller yaml, foretrækkes når det er muligt

Q: Denne kode kommer faktisk fra HTML
Q: Men jeg ved ikke, hvordan jeg skal analysere Javascript med HTMLParser eller hvad det nu hedder

D: Er det kun indlejret i HTML eller en eller anden manglet version af HTML?

Q: Det er indlejret i HTML-en

D: Hvis det er JavaScript (og det er bortset fra manglende ydre seler), kan JSON sandsynligvis analysere det

Q: Tak

D: Jeg sagde det ikke eksplicit: JSON analyserer kun datastrukturer, ikke JS-kode

Q: At “alt hvad jeg har brug for er parset, er en datastruktur

Problemet handler virkelig om, hvordan JavaScript-datastrukturer skal analyseres, ikke ” en streng mellem to afgrænsere “, alligevel tager det en hel del tid og intuition at komme til det virkelige problem.

Dette er lettere at gøre i en fuldt interaktiv chat (uanset hvilken tilstand), men på et SE-sted , hvor du polerer et indlæg lidt, sender det og derefter har 5-30 minutter eller længere inden feedback, det hjælper virkelig med at gå i den rigtige retning fra starten.

Kommentarer

  • IMO XY-problemer er undertiden nyttige, fordi svarene kan hjælpe spørgeren til at forstå, hvorfor deres løsning ikke ‘ ikke fungerer, og bedre forstå originalen problem i processen.
  • Den nemmeste måde at komme til det virkelige problem er normalt at spørge hvorfor fem gange.
  • Selvom du starter med Y i stedet for X, har du muligvis at spørge hvorfor 10 gange (eller mere, brug de 5 hvorfor på hvert niveau?). 🙂
  • Hvorfor Y – at ‘ er det spørgsmål, der skal stilles
  • For at være retfærdig spørger spørgerne ofte om X, og svaret er ” at ‘ er for meget, opdel det til et lille eksempel ” og så isolerer plakaten deres forsøgte løsning Y, og alle mister det originale problem af syne.
  • Sometmes sidder du fast med Y. I mit første job måtte jeg ændre en webshop. Kodebasen var en råddent blanding af html PHP og js. Der var 2 måder at løse problemer på: Gentag det hele (afvist af chef) tilføj mere tape. SO hjalp mig ikke rigtig der. ” Sådan y? ” ” Hvorfor ville du gøre det? ” ” Fordi jeg skal ” ” Hvad er Y / Gør ikke dette / hvorfor bruger du {antipattern}? ” ” Fordi jeg skal ”
  • @OliverA. Derefter bliver en del af spørgsmålet en forklaring på, hvorfor du har brug for at gøre Y. ” Jeg er nødt til at gøre Y, fordi arv / boss / gamle rammer ” så bliver spørgsmålet lettere at besvare og mere værdifuldt for alle.
  • @LegoStormtroopr Undtagen at mange mennesker ikke forstår det ‘. De forstår ikke ‘ at du undertiden ikke ‘ ikke har den luksus at vælge den rigtige tilgang og bare har for at båndlægge eksisterende kode, og spørgsmålet er lukket som for snævert eller noget …
  • Jeg lavede solide forsøg på at koge alle mine spørgsmål ned til så meget af en ” Y ” som muligt. Jeg har ingen interesse i at stave hele omfanget af mit emne (især når jeg arbejder på lukket kilde proprietær software på mit job), og jeg har lyst til (undtagen at beskæftige mig med dem, der insisterer på at krydse kæden med ” hvorfor? hvorfor? hvorfor? “) Jeg kan få et svar hurtigere ved at indkapsle mine spørgsmål fra alle sammenhænge.
  • Det afhænger på askeren ‘ s overordnede kendskab til problemområdet.Jeg er enig med n00n, for de mere erfarne med alternativerne har de måske allerede udelukket alle mulige X ‘ s, og nu er X en konstant, og de vil bare løse for Y. Det forringer spørgsmålet at skulle gå over alle mulige X ‘ s, som du ‘ allerede har udelukket, og dykke ned i kontorpolitik eller eksisterende systemarkitektur. En mindre erfaren kan drage fordel af at have andre ‘ s gennemgå alternative X ‘ s og foreslå, at de genovervejer denne forudsætning.
  • Modeksemplet: Mig: Er der nogen måde at ændre den aktuelle mappe i Java? Andet: I java behøver du ikke ‘ det. Hvad vil du lave? Mig: (suk) OK, jeg har en eksekverbar krukke til et program, der lytter til en port og udveksler meddelelser. Krukken sidder normalt i x / bin, og konfigurationen sidder i x / conf. Så programmet læser sin konfiguration fra ../conf. Nu vil jeg køre det inden for en tomcat-server ved selv at kalde programmet ‘ s hovedmetode. Men jeg har ingen kontrol på serveren ‘ s hjemmekatalog og ” ../conf” er ikke et acceptabelt sted.
  • (fortsat) Så jeg spekulerer på, om der er nogen måde at ændre hjemmekataloget til en tråd. Andet: Åh, jeg kan se. Du kan ‘ ikke gøre det i Java. Mig: Hvorfor kunne du ikke ‘ ikke fortælle mig det tidligere? – I så fald stillede jeg spørgsmål X, og jeg blev besvaret spørgsmål Y (hvordan man bruger filer i Java).
  • Normalt vil jeg ikke have folk til at løse mit problem, bare besvar mit spørgsmål. Det kan være ret irriterende, når folk prøver at hjælpe med førstnævnte snarere end sidstnævnte.
  • @NoctisSkytower Men det meste af tiden er ethvert svar kontekstafhængigt … Q: ” Hvordan kan jeg gøre X i C? ” A: ” Der er 20 forskellige måder, hver med sine egne faldgruber og usecases, du kan studere dem selv og lave alle de fejl, andre har lavet, eller du kan fortælle os, hvilket problem du vil løse med dette, og vi kan give dig den bedste tilgang ! ” Q: ” Jeg ønsker ikke ‘ et foredrag giver mig bare noget svar, jeg bryder mig ikke ‘! ” – A: ” -.- farvel. ”
  • SE-websteder, der ikke er programmerede, linker til dette svar for at forklare XY Problem-konceptet. Et mere universelt (ikke-programmerings) eksempel ville være endnu mere nyttigt.

Svar

XY-problemet, som det undertiden kaldes, er en mental blokering, der fører til enorme mængder spildt tid og energi, både fra folk, der beder om hjælp, og fra dem, der yder hjælp. Det går ofte sådan noget

  • Brugeren ønsker at gøre X.
  • Brugeren ved ikke, hvordan man gør X, men tror, at de kan fumle sig frem til en løsning, hvis de kan bare klare at gøre Y.
  • Brugeren ved heller ikke, hvordan man gør Y.
  • Brugeren beder om hjælp med Y.
  • Andre prøver at hjælpe bruger med Y, men er forvirrede, fordi Y virker som et mærkeligt problem at ville løse.
  • Efter meget interaktion og spildt tid bliver det endelig klart, at brugeren virkelig ønsker hjælp med X, og at Y var ikke engang en passende løsning til X.

Problemet opstår, når folk får deres tankegang fast på en tilgang og bliver ude af stand til at tage et skridt tilbage. Forbliver åben for at have en ny se på det større billede, disse mennesker finder måske vej tilbage til X og fortsætter med at søge efter alternative løsninger.

Se “ XyProblem ” for flere oplysninger.

Kommentarer

  • Jeg synes også, at dette svar er nødvendigt tilføjelse til forklaringen. Jeg læste ovenstående, prøvede at tænke på mit nuværende problem (hvad enten det er et X- eller Y-spørgsmål), og da jeg læste videre til denne kommentar, fik jeg ” aha ” forståelsesmoment, at hvis jeg ville have sendt mit spørgsmål, ville jeg have spurgt om Y ikke X. Gentagelse af min situation kunne være en mental blokeret fokuseret på, hvordan jeg løser problem snarere end klart at angive det problem, jeg vil løse, er meget nyttigt.
  • Jeg tror, det er brugernes ‘ ansvar. Jeg ‘ har mødt problemet mange gange, at jeg ville løse problemet X, og alle foreslog Y og Z. Men hvis jeg havde ønsket en løsning til Y eller Z, er dette hvad jeg havde bedt om. Jeg finder det lidt pinligt, ikke kun fordi de svar, jeg får, ikke hører til mit spørgsmål, men også fordi jeg føler mig undervurderet.Siden da savner jeg bevidst alle detaljer, der kan vildlede mine svarere på denne dårlige måde.
  • Dette særlige svar minder mig om Maslow ‘ s Hammer
  • Jeg er uenig i svaret. Hvis du har problem X og angiver Y som din løsning og beder om hjælp til Y, er det, du ‘ laver, at etablere din (sandsynligvis defekte) forståelse af problemet. Når jeg vil hjælpe nogen, vil jeg ikke kun kende deres X-spørgsmål, men hvordan det er, at de i øjeblikket tænker (Y). Nogle gange er det ‘ vigtigere at lære hvordan at tænke end at lære hvad at tænke. Og XY-problemet giver mig vigtige spor om, hvordan man nærmer mig at gøre netop det.
  • Faktisk er formaning af XY-problemer særligt uvenlig. Og (for at vælge, åh, en): stackoverflow har været frygtelig i denne henseende i de sidste par år. Jeg ‘ holder fast, at de andre programmeringscentrerede SE-steder ikke ‘ t så uopretteligt skruer op som de gjorde.
  • @ tgm1024 Jeg forstår ‘ ikke helt dine kommentarer; XY-problemet er ikke, når en bruger inkluderer deres tænkningsproces ved at give både X og Y i spørgsmålet, det ‘ s når brugeren ikke ‘ t inkluderer deres tankeproces og giver kun Y fordi især i så fald er det ‘ svært at lære dem at tænke .
  • @JiK, Du identificerer det enten som et XY-problem, eller du

t. Hvis du gør det, er du ‘ klar over X. Hvis du ikke ‘ t, så ‘ må jeg ikke antage, hvad X er, fordi den præsenterede Y faktisk kan være et gyldigt dannet spørgsmål .

  • Brugeren gør ikke ‘ ved ikke, hvordan man gør X, men mener, at de kan fumle sig frem til en løsning, hvis de bare kan klare Y. Lyder som hvordan alle problemer løses for mig: P. Alt i alt skal alle starte deres spørgsmål med ” Jeg vil gerne forbedre mit liv / verden på en eller anden måde. Jeg blev født i 19 … ”
  • Nogle gange er ‘ stort set rigtigt. For mange år siden, efter at min Oracle DBA henvendte sig til mig (hans sysadmin) og træt sagde ” På en eller anden måde er der noget gået galt et eller andet sted ” Jeg lavede mig en t-shirt med den på. Det er på mange måder en perfekt fejlrapport fordi den ikke ‘ ikke antager nogen antagelser som jeg derefter skal afvise: det starter med hans problem og lader mig gennemgå hans observationer og hans forventninger for at se, hvor manglende overensstemmelse med virkeligheden kan være.
  • @ tgm1024 Det ‘ handler om at undgå at spilde meget tid til både spørgeren og svarerne. Hvis du er opmærksom på forbeholdene for en muligvis gyldig Y, skal du medtage disse oplysninger i dit spørgsmål. Yderligere beder om X undgås. Hvis du ikke ‘ ikke kender de forbehold, der beder om X, sandsynligvis er nøjagtigt hvad du har brug for, fordi en løsning til Y ikke hjælper dig meget. Det ville være uvenligt at ikke pege dem mod den rigtige løsning og i stedet efterlade dem med en dårlig løsning.
  • @trixn, jeg ‘ Jeg er ikke sikker på, hvor vi være uenig. Imidlertid — > Hvis du har problem X og angiver Y som din løsning og beder om hjælp til Y, hvad du ‘ re gør er at etablere din (sandsynligvis defekte) forståelse af problemet. Når jeg vil hjælpe nogen, vil jeg ikke kun kende deres X-spørgsmål, men hvordan det er, at de i øjeblikket tænker (Y). Nogle gange er det ‘ vigtigere at lære hvordan man tænker end at lære hvad man skal tænke. Og deres passende og værdifulde XY-problem giver mig vigtige spor om, hvordan man nærmer mig at gøre netop det.
  • @ tgm1024 Det er bogstaveligt talt, hvad du allerede har sagt Før. Mit punkt handlede om din erklæring om, at formaning af XY-problemer ikke er særlig uvenlig. Naturligvis er det ‘ også et spørgsmål om, hvordan du udtrykker din mistanke om, at et spørgsmål kan være et XY-problem. Men generelt er jeg ikke ‘ ikke enig i, at det ikke er uvenligt at pege på en spørger, da det faktisk kan være, hvad han / hun faktisk har brug for. Derfor ‘ hvorfor jeg normalt beder om mere information om brugssagen. Hvis Y er et let at besvare spørgsmål, besvarer jeg det alligevel alligevel med en bemærkning om, at det muligvis ikke er den ønskede løsning.
  • @trixn, selvfølgelig kan du pege nogen i den rigtige retning, og selvfølgelig du kan guide nogen mod en ny måde at se på noget på.At starte med forestillingen om, at spørgsmålsdannelsen i sig selv på en eller anden måde er forkert, er hvad jeg ‘ er på stærke odds med. Se for eksempel på det hyperbolske citat i det 71 opstemmede svar af Jonathan Benn: ” Specifikt for Q & A, den skadelige ved en XY-problemet kommer fra det faktum, at det er frustrerende for alle involverede. ” Det er simpelthen vrøvl. XY-spørgsmålet er værdifuldt. Det ‘ er kun frustrerende for folk, der ønsker det.
  • Stor forklaring. RE: ” og at Y ikke var ‘ t selv en passende løsning til X “, Jeg tror, at Y undertiden kan være en løsning for X. Men det er ikke en naturlig eller praktisk løsning.
  • Imo dette er den, der skal være på toppen. Ingen fornærmelse på det øverste svar, men jeg først læs det, og det fik mig til at skrabe hovedet, og så kom jeg ned for at se dette, og svaret blev krystalklart for mig.
  • Svar

    Et XY-problem ser ud til at være en delmængde af Einstellung-effekten , hvor en problemløser sidder fast på en bestemt løsning og ikke er i stand til at bakke op mentalt for at se potentielt overlegne løsninger. Dette psykologiske fænomen påvirker alle, både begyndere og eksperter.

    Hvorfor din første idé kan blinde dig til en bedre ” forklarer et eksempel fra skak, hvor en person vinder med en kvalt kvindelig kompis i et spil. Det næste spil, den samme spiller kan ikke se en hurtigere 3-træk-kompis, fordi de sidder fast på ideen om en 5-træk-kompis.

    Specifikt for Q & A, det skadelige ved et XY-problem kommer fra, at det er frustrerende for alle involverede:

    1. Den person, der stiller spørgsmålet, stiller det forkerte spørgsmål (som er relateret til deres forsøg på løsning snarere end det oprindelige problem), og finder det derefter vanskeligt at afklare spørgsmålet, fordi de sidder fast i deres egen løsning. De foreslåede svar er utilfredsstillende, fordi de ikke adresserer, hvordan man implementerer forfatterens løsning.
    2. Folk, der besvarer spørgsmålet, finder det frustrerende, fordi den foreslåede løsning ikke giver mening for dem, da de nærmer sig problem fra en ny vinkel og påvirkes (formodentlig) ikke af Einstellung-effekten, og de finder det vanskeligt at få originalplakaten til at afklare deres spørgsmål.

    Kommentarer

    • Interessant hvordan Einstellung effect beskrivelse er baseret på en åbenbar fejltagelse. Luchin eksperimenterede med hvordan folk ville udlede problemet fra hans ufuldstændige og tvetydige beskrivelse (var han beder om optimering til latens eller optimering til gennemløb?). Men han gjorde sig vildledende, at han angiveligt stadig eksperimenterede med ” hvordan folk kommer til løsninger “. Det er måske en refererende ting. Luchin var så fokuseret på sin interesse, at han undlod at lægge mærke til, da han omdirigerede til et helt andet problem.
    • Min kilde var Scientific American, hvis du protesterer, kan du tage det op med dem;)
    • Jeg synes, det er bedre eksempel fra skak ville være noget som en spiller, der var fokuseret på at forsøge at opnå en kompliceret skakmat med utilstrækkeligt materiale, mens man overser det faktum, at de har en bonde, som kunne dronning.

      Problem med manglende firkantet puslespil er en god illustration. Det illustrerer et simpelt og universelt problem / spørgsmål / løsningsproces, hvor “en vis illusion” forårsager komplikationer.

      Der er et selvindlysende problem — 1 × 1 hul i der opstår på anden figur —, men løsningen er tydelig først efter vi ved (som et æg fra Columbus) … Alle mennesker, eksperter og ikke-eksperter, er enig i, at der er et problem.

      indtast billedbeskrivelse her

      • normal bruger : mener, at “der er to ækvivalente tal, de” samlede trekanter “i et perfekt 13 × 5 gitter .. . “, efterfølgende med spørgsmålet:

        • problem Y : “Hvorfor har den anden ækvivalente trekant et hul i den?” .
      • ekspertbruger : tænk noget som “oops , de er ens men ikke “helt ækvivalente” tal “, der følger med spørgsmålet:

        • problem X : “Hvordan viser jeg, at de ikke er perfekte ækvivalenter?” .

      Den kloge geometriekspert tænker i form af “lignende geometrier, der ikke er perfekte ækvivalenter”.

      Den normale bruger tænker fejlagtigt med hensyn til nøjagtig kongruens . Så brugen af forkert hypotese , producerer dårlige Y spørgsmål.


      ” XY-problemet “som en specialisering af den” forkerte hypoteseadfærd “

      Du vil løse det virkelige spørgsmål- X, og du tænker i form af en Y -kontekst, og prøv at bruge spørgsmål- Y. I stedet for at spørge om kontekst X spørger du om kontekst Y.
      (som @Gnome bemærket ovenfor , men bruger andre ord)

      Så, “XY Problem” er kun et andet (mere specialiseret) udtryk for at sige “Brug af forkert arbejdshypotese .

      Kommentarer

      • Gennemgå din nedstemning, jeg redigerede for at adskille personlig mening fra denne mere generiske og måske interessante form at forklare ” hvad er “.
      • Jeg får din mening fra dit svar, og du ‘ er den, der besvarer spørgsmålet med animeret illustration. Hvis mit ry (i dette metafællesskab) tillader mig at stemme op, vil jeg stemme dette op.
      • Dette svar illustrerer et typisk use case , når ” tænkende imperativ programmerer ” stiller et spørgsmål om funktionelt sprog … Den foreslåede løsning : spørg på øverste niveau.
      • undskyld, hvorfor den anden ækvivalente trekant har et hul i den?
      • Hej @KorayTugay, dit spørgsmål er uden for anvendelsesområdet (det er et klassisk problem, så du kan bruge klassiske forklaringer, se mit Wikipedia-link!). PS: Jeg kan godt lide at se hullet som forskellen , fordi trekanterne er ens og har næsten samme område, men ikke nøjagtigt det samme område, så du kan konstruere hullet fra den lille stribe af den geometriske forskel.
      • @koraytugay se på det punkt, hvor de røde og blå trekanter rører, når animationen nulstilles .. det bliver klart, at den blå trekant er ” stejlere ” end den røde, så når den blå trekant er i bunden er hypotenusen ” konveks ” og når det øverst er ” konkav “. Denne ” bøjning ” af hypotenusen giver anledning til en firkant ‘ s forskel i område

      Svar

      Undgå XY-problemet

      Jeg hævder, at du ikke kan undgå det. Ikke uden blot at kaste dine programkrav på SO og bede dem om at lave dit design for dig ( anbefales ikke) .

      Jeg argumenterer for dette, fordi designprocessen for al software er baseret på et startsæt med krav “A”. Derfra siger du “Jeg kan opnå A, hvis jeg gør B og C “. Derfra siger du” Jeg kan opnå B, hvis jeg gør D og E, og jeg kan opnå C, hvis jeg gør F og G “. Og det fortsætter til det punkt, vi siger,” Jeg kan opnå X, hvis jeg gør Y “. Vi gør det normalt så hurtigt, at vi ikke engang tænker på processen.

      Så det største problem med XY-problemet er, at Y ikke er mulig, men du ved ikke, hvor meget af din design for at slappe af for at g et tilbage til X, hvilket er muligt. Du ved normalt ikke engang, at Y er umulig uden faktisk at spørge. Du ved ikke, hvad du ikke ved. Derfor er det uundgåeligt


      Stil spørgsmål, hvor du risikerer at falde i XY

      Det bedste du kan gøre ved XY-problemet er at beskytte imod det, når du stiller spørgsmål. Stil stadig det samme spørgsmål, men giv så mange relevante oplysninger som muligt:

      • Angiv dit problem
      • Angiv hvad du forsøger at opnå
      • Angiv, hvordan det passer ind i dit bredere design

      Dette hjælper folk med at identificere, at det er XY, og hjælper dig meget hurtigere.


      VIGTIGT: At give svar på XY-problemer

      Efter min mening er det største problem med XY-spørgsmål er de (ofte) uhensigtsmæssige svar, de fremkalder. Vi stopper aldrig folk med at stille disse spørgsmål, så det bedste er at forstå, hvordan vi hurtigt kan besvare dem og effektivt.

      Ironisk nok er mange af disse dårlige svar og svar givet af dem, der ønsker at være mest nyttige og kan gives af nogle af de mest hæderlige mennesker på forummet / SO.

      Jeg har opdaget en metode til besvarelse af disse spørgsmål, som synes at hjælpe med at komme rundt i psykologien forbundet med XY-problemer og føre OP for et spørgsmål til en fungerende løsning. Metoden tager lidt længere tid at svare på den første instans, men lukker Q / A-sløjfen meget hurtigere.

      Jeg foreslår, at du besvarer spørgsmålet i tre dele og giver dem i følgende rækkefølge.

      1. Besvar OPs spørgsmål . Selvom OP sandsynligvis har brug for noget andet, skal du aldrig forsømme at besvare det spørgsmål, de faktisk har stillet først, og ikke det spørgsmål, du tror, de vil have svar på. I nogle tilfælde kan svaret være “Y er ikke muligt” . For ofte ser jeg svar (kommentarer) der spørger “hvorfor har du brug for det?” . Dette giver OP ikke noget. Hvis du siger “Det bliver virkelig svært. Forklar hvorfor du har brug for det, vi kan muligvis hjælpe “ så i mange tilfælde vil en OP simpelthen tage ” Y er virkelig hård “ og gå tilbage til tegnebrættet .. . Det er fint, fordi du har besvaret deres spørgsmål, og de kan godt komme tilbage med spørgsmål X selv.

      2. Diskuter OPs forsøgte løsning . Denne bit er vanskelig og tænker lidt. Men jeg kan ikke understrege, hvor vigtig den er. Hvis OP har bedt om Y, og du tror, de vil have X, skal du fortsætte med at tale om Y (IKKE X) efter at have besvaret deres spørgsmål (1). Hvad skal Y bruges til? Hvordan gælder det ikke for X? Det afgørende er at fortsætte med at tale om spørgsmålet, men gå fra at besvare det til at give nyttige oplysninger. Fordi efter alt dette er hvad du synes, OP har brug for. Nyttige oplysninger og ikke svaret på deres spørgsmål.

      3. Løs X Dette er hvad du har kløet at gøre, og det er trods alt hele pointen med dit svar. Du har mødt OP på deres vilkår og besvaret deres spørgsmål. Du har hjulpet dem med at forstå manglerne i deres spørgsmål, og hvorfor det ikke er noget at løse Y … så nu er du helt berettiget til at forklare en løsning til X.

      De fleste mennesker er her for at lære, så del 1 og 2 i dette svar er lige så vigtige som del 3. Men alt for ofte gives del 3 på det “s ejer, og det er ekstremt frustrerende og nedladende over for OP for ikke at nævne mange OPer accepterer ikke svaret.

      At give dette svar undgår også forlegenhed, når du mener, at OP har et XY-problem, når de faktisk don “t. Alt hvad du har gjort er at give lidt ekstra information. Blot ved at give del 3 risici, der ser ud til at have ikke læst spørgsmålet.


      I øvrigt. Læs spørgsmålet igen og læs dette svar … bemærk de tre dele?

      Kommentarer

      • Som ” XY Problem ” er en slags ” Brug af forkert hypotese ” , skal Stackoverflow-samfundet hjælpe til vise den rigtige hypotese … Dette er fokus i din ” Giver svar på XY-problemer “?
      • @PeterKrauss På en måde. Det er mere en antagelse (jeg er enig i, at samfundet skal) . Jeg antager, at nogen, der besvarer spørgsmålet, vil give del 3 – den rigtige hypotese. Problemet med XY-problemet ligger i den spildte tid. Så fokus på dette svar er at fremhæve, at det at bruge tid på at give del 1 og 2 foran ikke er spildt tid, men faktisk sparer tid i det lange løb. Du har ret i, at dette svar kan generaliseres til Brug af forkert hypotese .
      • Alt for ofte tager OP svaret til Y og løber uden at læse videre eller indse, at Y var den forkert løsning på X. På grund af dette ville jeg ‘ hellere ikke give dem et svar, der vil blive misbrugt. Jeg ‘ risikerer hellere at krænke dem for at komme til den rigtige løsning end yderligere bidrage til både dårlig kode og mangelfuld logik.
      • @Tom At ‘ er fint, i disse tilfælde ” du beder om noget, der er virkelig svært ” eller ” du skal ikke ‘ t gøre dette, det ‘ er en rigtig dårlig idé ” type del (1) er helt passende.
      • Jeg lo højt, efter at jeg var færdig med at læse dette og tjekkede tilbage. Fremragende svar, fremragende observationer, fremragende lederskab ved eksempel.
      • Jeg vil tilføje, at formålet med dette websted ikke kun er at hjælpe den person, der oprindeligt stillede spørgsmålet, men også at oprette et lager for alle andre der finder spørgsmålet senere. Selvom Y ikke er den rigtige måde at gøre X på, kan det stadig være nyttigt i sig selv i andre sammenhænge, så svar på Y kan også være værdifuldt.
      • Dette svarer faktisk på det faktiske spørgsmål ordentligt, mens andre bare blot angiver fakta

      Svar

      (adskilt fra mit andet svar, fordi denne har mere mening end forklaring)

      Hvis du er enig i at “XY-problemet” kun er et andet (mere specialiseret) udtryk for “Brug af forkert arbejdshypotese”, som illustreret og forklaret her og ligner “Einstellung-effekten” forklaret her af @Jonathan Benn

      Vi kan tænke i nogle hovedsituationer:

      • Rush situation: den forkerte hypotese er kun en sproglig eller forenklet bivirkning, der kan rettes af brugeren med lidt mere opmærksomhed og investering mere tid på at redigere spørgsmålet.

      • Normal situation: som i illustreret Missi ng Square puslespil, du ved ikke, at din hypotese er forkert. Dette er den vigtigste situation, der skal diskuteres her (!).

      Så lad os sætte fokus på normal situationen.


      LØSNINGER / ATTENUATORS

      “XY-problemet” er et gyldigt problem!

      Stack Exchange-spørgsmålet er at vise et problem. Hvis mit spørgsmål hjælper med at vise, at reelt problem er min forkerte hypotese , det er OK! Det er et første trin , og måske har jeg ikke brug for andre spørgsmål efter at have opnået den korrekte hypotese (og forsøger at løse mig selv).

      Eksempel. Se “ XPath for xml: lang? Testattributets egenakse mislykkes “; det virkelige problem er, at @attribute::self ikke findes, så det var en forkert hypotese om spørgsmålets titel.

      help/mcve -løsningen har begrænsninger

      Stakoverløb “s help/mcve begrundelse : “Sådan oprettes en M inimal, C omplete og V erificerbar E xample “, kan bruges til at undgå XY-problemet.

      Men redigeringsomkostningerne (tid og opmærksomhed dyrt), og opfattelsen af, at det er en slags forurening i din tekst (en “dårlig markedsføring” for spørgsmålet), er ulemper.

      Det er også korrekt at forenkle problemet og forklar med mere fokus på pointen.


      Bedste praksis

      Træn brugere af Stack Overflow for at kontrollere, om forenklingen giver mening. Algoritme til et godt spørgsmål:

      1. Prøv at oprette en MCVE.

      2. Hvis en MCVE ikke er pr aktisk, prøv i det mindste at forenkle.

        2.1. Test, kontroller for uoverensstemmelser, simuler læseren … og gennemgå. Producerer din forenkling noget underligt, ændrer konteksten? Gennemgå for at undgå fejl.

      3. Lyt til kommentarerne om dit spørgsmål , og prøv at afklare, prøv at arbejde redigering af spørgsmålet om nødvendigt: hvis der er folk, der kommenterer, er det en bemærk at du kan investere mere tid i dit spørgsmål.

      Den forkerte hypotese er ikke indlysende, men når vi forenkler, forstærker vi de forkerte effekter, og det bliver mere tydeligt.


      PS: På den anden side, når vi forklarer og viser alle detaljer, hele konteksten og kontrollerer det virkelige punkt, samlingen af problemet (som når vi bruger mcve), Uoverensstemmelserne viser også flere beviser.

      Kommentarer

      • Det ‘ er min oplevelse af, at MCVE skaber flere XY-problemer, ikke mindre. Det gør en mere ren abstraktion ved at fjerne det originale spørgsmåls kontekst. Det er X, der kan være indeholdt i sammenhængen med det originale spørgsmål, men MCVE vil kun blive konstrueret til at udtrykke Y.
      • Tak @couling (!). Ja, som metode er MCVE måske ikke en ” bedste praksis “, men er en måde at håndhæve ” … forklar og vis alle detaljer … “. Vores hjerne fungerer bedre efter den slags selvanmeldelse … Du kan redigere og rette teksten, det er en Wiki.

      Svar

      Forhandling af en unionskontrakt …

      XY-problemet er relevant for forskellen mellem “rentebaseret forhandling (X) og” position “baseret forhandling (Y).

      X = medarbejderens samlede løn til hjemmet har været stagnerende i de sidste mange år, mens leveomkostningerne løbende stiger; medarbejderen har brug for mere løn til hjemmet.

      Y = vælger “du hæver ikke parkeringsafgifter” som en bakke til at dø på / den eneste “løsning” til X, som medarbejderen er villig til at acceptere.

      At sigte mod Y (tage stilling) sigter mod en meget specifik og begrænset løsning på problemet (X). Det afskærer medarbejderen fra løsningsuniverset til problemet (X) ved at insistere på, at det kun løses på en meget specifik og begrænset måde. Hvis denne måde (Y) af en eller anden grund er anstødelig for arbejdsgiveren, vil der være et dødvande – et tidsrum, hvor der ikke er nogen løsning på X, hvor en løsning skal være acceptabel for begge sider. p>

      Hvis medarbejderen kan sigte mod X i stedet for Y, forbliver løsningsuniverset åbent / ubegrænset, og arbejdsgiveren kan rekrutteres til at hjælpe med at finde mulige løsninger til X. (Måske viser det sig at være OK med medarbejderen hæver parkeringspriserne mod at hæve leveomkostningerne …)

      Dette interesse- / positionsparadigme synes relevant for at stille spørgsmål om SO, når OP beder om hjælp til at få deres position til at fungere. Nogle gange kan du skære til X ved blot at spørge: “Hvorfor prøver du at gøre dette?”; Men jeg spekulerer på, om det til tider at sigte mod Y ikke er lige så værdifuldt. Hvor mange af os har nogensinde prøvet at gøre noget, bare for at se, om vi kunne? Enhver her, der kører deres egen DNS-server med en bestemt type software til netop det grund? 🙂 Måske er det ikke din bedste løsning på X, men det er stadig interessant …

    Skriv et svar

    Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *