Vad är XY-problemet?

Vad är XY-problemet?

När jag ställer frågor, hur känner jag igen när jag hamnar i det? Hur gör jag undvika det?

Tillbaka till FAQ-index

Kommentarer

  • Se ett PerlMonks inlägg om samma ämne.
  • sorgligt exempel på XY-problemet: stackoverflow.com/questions/2691018/… ansvarsfriskrivning I ’ m partisk där, är den som hävdar att man ser X istället för att lösa Y
  • Ryska översättning för ru.stackoverflow.com
  • Det finns också ’ Japansk översättning för ja.stackoverflow.com
  • Kontrast med ” ramutmaningar ” nu avskräckt eller förbjudet på ett antal SE webbplatser: interpersonal.meta.stackexchange.com/questions/1495/…
  • Relevant avsnitt i ” Hur man ställer frågor på ett smart sätt ”.
  • @ Sridhar-Sarnobat I din analogi skulle en X → Y-fråga vara ungefär som, ” Hur kan man hämma tillväxten av celltyper xyz genom att minska nivåerna av protein tuv hos en patient ’ blodomloppet? ” eftersom du tror det är det enda möjliga botemedlet mot cancer.
  • Hmmmm, så du ’ säger att det är en alltför specifik fråga och jag bör tillägga att ” verkligt ” Målet är att bota cancer. Om så är fallet, rättvis poäng. Även om det motsatta problemet faktiskt är att frågorna stängs som alltför breda.
  • Kan vi erkänna att detta är det värsta möjliga namnet på detta problem? Namnet har bokstavligen ingenting att göra med vad det beskriver. Som om någon säger något som ” lägg vagnen framför hästen ” även om de ’ har aldrig hört det innan de åtminstone har en antydan om att något är bakåt (hästar drar, inte skjuter). Jag har dock inte ’ några bra idéer för ett alternativt namn.
  • Ibland kan det vara bra att också överväga saker från ett bredare sammanhang, med tanke på om vad ’ s framsteg / resultat tenderar faktiskt till en förnuftig lösning

Svar

Vad är det?

XY problemet är fråga om ditt försök till lösning snarare än om ditt faktiska problem.

Det vill säga du försöker lösa problemet X , och du tror att lösningen Y skulle fungera, men istället för att fråga om X när du stöter på problem frågar du om Y.

Problemet

Detta kan leda till frustration av människor som försöker hjälpa dig att lösa problemet eftersom den lösning som du behöver hjälp med kanske inte har några uppenbara kopplingar när du frågar om det. till det problem som du försöker lösa.

Hur man undviker det

För att undvika att falla i den här fällan, inkludera alltid information om en bredare bild tillsammans med alla försökta lösningar. Om någon frågar efter mer information, eller särskilt en mer specifik fråga, lämna detaljer. Om det finns andra lösningar som du tror kommer att föreslås och som du redan har uteslutit, försök inte undvika att gå igenom dem – istället ange varför du har uteslutit dem, eftersom detta ger mer information om dina krav och hjälper andra att ge bättre svar.

Ett exempel

En nyligen IRC-konversation som illustration:

Q: Finns det en funktion för att returnera en sträng mellan två avgränsare?

B: Jag förstår inte vad du menar, men jag tvivlar på att det redan finns en funktion

C: Dela upp och skiv

D: Partition också

Q: Jag försökte partition
F: Jag försökte använda inbyggda program för att få numret mellan något liknande detta i en sträng ” attribut1: 50.223, attribute2: 442.1 ”

D: Varför inte bara analysera strängen?

F: Jag trodde att det kan ha funnits några inbyggda tolkningsdetaljer

D: par = [x.strip () för x i s.split (”, ”)]; attribs = {k: v för x parvis för k, v i [x.split (”: ”)]}
D: Det finns några bibliotek, men enkla format är enkla nog – om du inte bryr dig om fel hantering
D: Ändra källan för att använda ett välkänt format, t.ex. json eller yaml, föredras när det är möjligt

F: Den här koden kommer faktiskt från HTML
F: Men jag vet inte hur jag ska analysera Javascript med HTMLParser eller vad det än heter

D: Är det bara inbäddat i HTML eller någon felaktig version av HTML?

Q: Det är inbäddat i HTML

D: Om det är JavaScript (och det är, med undantag för saknade yttre hängslen), kan JSON antagligen analysera det

F: Tack

D: Jag sa inte det uttryckligen: JSON analyserar endast datastrukturer, inte JS-kod

Q: Att ”allt jag behöver analyseras är en datastruktur

Problemet handlar verkligen om hur man analyserar JavaScript-datastrukturer, inte hittar ” en sträng mellan två avgränsare ”, ändå tar det en hel del tid och intuition att komma till det verkliga problemet.

Detta är lättare att göra i en helt interaktiv chatt (oavsett vilket läge), men på en SE-webbplats , där du polerar ett inlägg lite, publicerar det och sedan har 5-30 minuter eller längre innan feedback, det hjälper verkligen att gå i rätt riktning från början.

Kommentarer

  • IMO XY-problem är ibland användbara eftersom svaren kan hjälpa frågeställaren att förstå varför deras lösning inte ’ t fungerar och bättre förstå originalet problem i processen.
  • Det enklaste sättet att komma till det verkliga problemet är vanligtvis att fråga varför fem gånger.
  • Även om du börjar med Y istället för X kan du ha att fråga varför 10 gånger (eller mer, tillämpa de 5 varför på varje nivå?). 🙂
  • Varför Y – att ’ är frågan att ställa
  • För att vara rättvis ställer frågeställningar många gånger om X, och svaret är ” att ’ är för mycket, dela upp det till ett litet exempel ” och så isolerar affischen sin försökta lösning Y och alla tappar bort det ursprungliga problemet.
  • Sometmes är du fast med Y. I mitt första jobb var jag tvungen att ändra en webbshop. Kodbasen var en ruttet blandning av html PHP och js. Det fanns två sätt att lösa problem: Gör om det hela (avböjt av chefen) lägg till mer tejp. SÅ hjälpte mig inte riktigt där. ” Hur man? ” ” Varför skulle du göra det? ” ” Eftersom jag måste ” ” Vad är Y / Gör inte detta / varför använder du {antipattern}? ” ” Eftersom jag måste ”
  • @OliverA. Då blir en del av frågan en förklaring till varför du behöver göra Y. ” Jag måste göra Y eftersom arv / chef / gammalt ramverk ” då blir frågan lättare att svara och mer värdefull för alla.
  • @LegoStormtroopr Förutom att många människor inte förstår det ’. De förstår ’ att ibland inte ’ t har lyxen att välja rätt metod och bara har för att plåsta befintlig kod, och frågan är stängd som för smal eller något …
  • Jag gjorde solida försök att koka alla mina frågor ner till så mycket av en ” Y ” som möjligt. Jag har inget intresse av att stava ut hela mitt problem (speciellt när jag arbetar med egen programvara med sluten källkod på mitt jobb), och jag känner för att (exkludera att hantera de som insisterar på att korsa kedjan med ” varför? varför? varför? ”) Jag kan få ett svar snabbare genom att kapsla in mina frågor från alla sammanhang.
  • Det beror på på askaren ’ s övergripande kunskap om problemutrymmet.Jag håller med n00n, för de mer erfarna med alternativen kan de redan ha uteslutit alla möjliga X ’ s, och nu är X en konstant, och de vill bara lösa för Y. Det försämrar frågan att behöva gå igenom alla möjliga X ’ som du ’ redan har uteslutit, och gräva i kontorspolitik eller befintlig systemarkitektur. Någon mindre erfaren kan dra nytta av att andra ’ s granskar alternativ X ’ och föreslår att de omprövar denna förutsättning.
  • Motexemplet: Jag: Finns det något sätt att ändra den aktuella katalogen i Java? Annat: I java behöver du inte ’ göra det. Vad vill du göra? Jag: (suck) OK, jag har en körbar burk för ett program som lyssnar på en port och utbyter meddelanden. Burken sitter normalt i x / bin och konfigurationen sitter i x / conf. Så läser programmet sin konfiguration från ../conf. Nu vill jag köra det inom en tomcat-server genom att själv kalla programmet ’. Men jag har ingen kontroll på servern ’ s hemkatalog och ” ../conf” är inte en acceptabel plats.
  • (forts.) Så jag undrar om det finns något sätt att ändra hemkatalogen för en tråd. Annat: Åh, jag förstår. Du kan ’ inte göra det i Java. Jag: Varför kunde du inte ’ inte berätta det för mig tidigare? – I så fall ställde jag fråga X och jag fick svar på fråga Y (hur man använder filer i Java).
  • Vanligtvis vill jag inte att folk ska lösa mitt problem, bara svara på min fråga. Det kan vara ganska irriterande när människor försöker hjälpa till med det tidigare snarare än det senare.
  • @NoctisSkytower Men oftast är varje svar kontextberoende … F: ” Hur kan jag göra X i C? ” A: ” Det finns 20 olika sätt, var och en med sina egna fallgropar och användningsfall, du kan studera dem själv och göra alla misstag andra har gjort, eller så kan du berätta vilket problem du vill lösa med detta och vi kan ge dig det bästa tillvägagångssättet ! ” F: ” Jag vill inte ’ jag vill inte en föreläsning ger mig bara något svar, jag bryr mig inte ’! ” – A: ” -.- bye. ”
  • Icke-programmerande SE-webbplatser länkar till detta svar för att förklara XY Problem-konceptet. Ett mer universellt (icke-programmerande) exempel kan vara ännu mer användbart.

Svar

XY-problemet, som det ibland kallas är ett mentalt block som leder till enorma mängder bortkastad tid och energi, både från människor som ber om hjälp och från dem som ger hjälp. Det går ofta ungefär så här

  • Användaren vill göra X.
  • Användaren vet inte hur man gör X men tror att de kan fumla sig fram till en lösning om de kan bara göra Y.
  • Användaren vet inte hur man gör Y heller.
  • Användaren ber om hjälp med Y.
  • Andra försöker hjälp användaren med Y, men är förvirrad eftersom Y verkar som ett konstigt problem att vilja lösa.
  • Efter mycket interaktion och bortkastad tid blir det äntligen klart att användaren verkligen vill ha hjälp med X, och att Y var inte ens en lämplig lösning för X.

Problemet uppstår när människor får sitt tankegång fast på en strategi och blir oförmögna att ta ett steg tillbaka. Förblir öppna för att ha en ny titta på den större bilden, dessa människor kanske hittar tillbaka till X och fortsätter att söka efter alternativa lösningar.

Se ” XyProblem ” för mer information.

Kommentarer

  • Jag tycker också att det här svaret är nödvändigt tillägg till förklaringen. Jag läste ovan, försökte tänka på mitt nuvarande problem (oavsett om det är en X- eller Y-fråga), och när jag läser vidare till den här kommentaren fick jag ” aha ” ögonblick av att förstå att om jag skulle ha lagt upp min fråga skulle jag ha frågat om Y inte X. Upprepningen av min situation kan vara ett mentalt block som fokuserar på hur jag löser problem snarare än att tydligt ange det problem jag vill lösa är till stor hjälp.
  • Jag tror att det är användarnas ’ ansvar. Jag ’ har mött problemet många gånger, att jag ville lösa problemet X, och alla föreslog Y och Z. Men om jag hade velat ha en lösning för Y eller Z är detta vad jag hade frågat. Jag tycker att detta är lite pinsamt, inte bara för att svaren jag får inte ’ t tillhör min fråga, utan också för att jag känner mig underskattad.Eftersom jag avsiktligt saknar alla detaljer som kan vilseleda mina svarare på det här dåliga sättet.
  • Det här specifika svaret påminner mig om Maslow ’ s Hammer
  • Jag håller inte med svaret. Om du har problem X och anger Y som din lösning och ber hjälp för Y, vad du ’ gör är att fastställa din (troligtvis felaktiga) förståelse för problemet. När jag vill hjälpa någon vill jag inte bara veta deras X-fråga, men hur det är att de just nu tänker (Y). Ibland är det ’ viktigare att lära hur att tänka än att lära vad att tänka. Och XY-problemet ger mig viktiga ledtrådar om hur jag ska närma mig att göra just det. Och (att välja, åh, en): stackoverflow har varit fruktansvärt i detta avseende de senaste åren. Jag ’ håller fast att de andra programmeringscentrerade SE-sajterna inte ’ t så oåterkalleligt skruvar som de gjorde.
  • @ tgm1024 Jag förstår inte ’ t dina kommentarer; XY-problemet är inte när en användare inkluderar sin tankeprocess genom att ge både X och Y i frågan, det ’ s när användaren inte ’ t inkluderar deras tankeprocess och ger bara Y eftersom särskilt i så fall är det ’ svårt att lära dem att tänka .
  • @JiK, antingen identifierar du det som ett XY-problem eller så gör du inte ’ t. Om du gör det, är du ’ väl medveten om X. Om du inte ’ t, då ’ borde inte anta vad X är, eftersom den presenterade Y faktiskt kan vara en giltigt bildad fråga .
  • Användaren ’ vet inte hur man gör X, men tror att de kan fumla sig fram till en lösning om de bara lyckas göra Y. Låter som hur alla problem löses för mig: P. På det yttersta bör alla börja sin fråga med ” Jag vill förbättra mitt liv / världen på något sätt. Jag föddes 19 … ”
  • Ibland är ’ ganska rätt. För många år sedan, efter att min Oracle DBA vände sig till mig (hans sysadmin) och sa trött, ” På något sätt, någonstans, har något gått fel ” Jag gjorde mig en t-shirt med den på. Det är på många sätt en perfekt felrapport eftersom den inte ’ inte antar några antaganden som jag sedan måste motbevisa: det börjar med hans problem och låter mig gå igenom hans observationer och hans förväntningar för att se var skillnaden med verkligheten kan vara.
  • @ tgm1024 Det ’ handlar om att undvika att slösa mycket tid för både frågaren och svararna. Om du är medveten om förbehållen för en eventuellt giltig Y bör du inkludera den informationen i din fråga. Ytterligare att be om X kommer att undvikas. Om du inte ’ inte vet att de försiktighetsåtgärder som ber om X är förmodligen exakt vad du behöver eftersom en lösning för Y inte hjälper dig så mycket. Det vore ingen ovänlig att inte peka dem mot rätt lösning och istället lämna dem med en dålig lösning.
  • @trixn, jag ’ jag är inte säker på var vi instämmer inte alls. Men — > Om du har problem X och anger Y som din lösning och ber hjälp för Y, vad du ’ att göra är att fastställa din (troligtvis felaktiga) förståelse för problemet. När jag vill hjälpa någon vill jag inte bara veta deras X-fråga, utan hur det är som de just nu tänker (Y). Ibland är det ’ viktigare att lära sig att tänka än att lära vad man ska tänka. Och deras lämpliga och värdefulla XY-problem ger mig viktiga ledtrådar till hur jag ska närma mig att göra just det.
  • @ tgm1024 Det är bokstavligen vad du redan sa innan. Min poäng handlade om ditt uttalande att förmanande XY-problem är särskilt noob-ovänliga. Naturligtvis är det ’ också en fråga om hur du uttrycker din misstanke om att en fråga kan vara ett XY-problem. Men generellt sett är jag inte ’ överens om att det inte är något ovänligt att peka en frågare, eftersom det faktiskt kan vara vad han / hon faktiskt behöver. Det är ’ därför jag brukar be om mer information om användningsfallet. Om Y är en lätt att svara på frågor svarar jag vanligtvis på det ändå med en anmärkning att det kanske inte är den önskade lösningen ändå.
  • @trixn, naturligtvis kan du peka någon i rätt riktning, och naturligtvis du kan vägleda någon mot ett nytt sätt att se på något.För att börja med tanken att frågeställningen i sig själv på något sätt är fel är det jag ’ är med starka odds med. Titta till exempel på det hyperboliska citatet i det 71 upprösta svaret av Jonathan Benn: ” Specifikt för Q & A, en fördärv av en XY-problemet kommer från det faktum att det är frustrerande för alla inblandade. ” Det är helt enkelt nonsens. XY-frågan är värdefull. Det ’ är bara frustrerande för människor som vill att det ska vara så.
  • Bra förklaring. RE: ” och att Y inte var ’ t ens en lämplig lösning för X ”, Jag tror att Y ibland kan vara en lösning för X. Men det är inte en naturlig eller praktisk lösning.
  • Imo det här är det som borde vara på toppen. Inget brott på det översta svaret, men jag först läste det och det fick mig att skrapa i huvudet och sedan kom jag ner för att se detta och svaret blev kristallklart för mig.

Svar

Ett XY-problem verkar vara en delmängd av Einstellung-effekten , där en problemlösare fastnar på en viss lösning och inte kan att gå tillbaka mentalt för att se potentiellt överlägsna lösningar. Detta psykologiska fenomen påverkar alla, både nybörjare och experter.

Varför din första idé kan blinda dig för en bättre ” förklarar ett exempel från schack där en person vinner med en kvävd kompis i 5 drag i ett spel. Nästa spel, samma spelare misslyckas med att se en snabbare tre-stegs-kompis eftersom de är fastnat på idén om en 5-drag-kompis.

Specifikt för Q & A, skadan i ett XY-problem kommer från det faktum att det är frustrerande för alla inblandade:

  1. Den som ställer frågan ställer fel fråga (vilken är relaterat till deras försök till lösning snarare än det ursprungliga problemet), och har sedan svårt att klargöra frågan eftersom de sitter fast vid sin egen lösning. De föreslagna svaren är otillfredsställande eftersom de inte tar upp hur man implementerar författarens lösning.
  2. Människor som svarar på frågan tycker det är frustrerande eftersom den föreslagna lösningen inte är vettigt för dem eftersom de närmar sig problem från en ny vinkel och påverkas (förmodligen) inte av Einstellung-effekten, och de har svårt att få originalaffischen för att klargöra sin fråga.

Kommentarer

  • Intressant hur Einstellung effect beskrivningen bygger på ett uppenbart misstag. Luchin experimenterade med hur människor skulle härleda problemet ur hans ofullständiga och tvetydiga beskrivning (var han frågar efter optimering för latens eller optimering för genomströmning?). Men han gjorde sig villaktig att han påstås fortfarande experimentera med ” hur människor kommer till lösningar ”. Det är kanske en referens sak. Luchin var så fokuserad på sitt intresse, att han inte märkte när han avledde till ett helt annat problem.
  • Min källa var Scientific American, om du motsätter dig kan du ta upp det med dem;)
  • Jag tycker att det är bättre exempel från schack skulle vara ungefär som att en spelare skulle vara fokuserad på att försöka uppnå en komplicerad schackmatta med otillräckligt material, samtidigt som man förbiser det faktum att de har en bonde som kan drottning.

    Problemet med kvadratpussel saknas är en bra illustration. Det illustrerar en enkel och universell process / fråga / lösningsprocess, där ”viss illusion” orsakar komplikationer.

    Det finns ett självklart problem — 1 × 1 hål i det som uppstår på den andra siffran —, men lösningen är uppenbar först efter att vi vet (som ett ägg från Columbus) … Alla människor, experter och icke-experter, håller med om att det finns ett problem.

    ange bildbeskrivning här

    • normal användare : tycker att ”det finns två ekvivalenta siffror, de” totala trianglarna ”i ett perfekt 13 × 5 rutnät .. . ”, följande med frågan:

      • problem Y : ”Varför har den andra ekvivalenta triangeln ett hål i sig?” .
    • expertanvändare : tänk något som ”oops , de är lika men inte ”helt likvärdiga” siffror ”, som följer med frågan:

      • problem X : ”Hur visar jag att de inte är perfekta ekvivalenter?” .

    Den smarta geometri-experten tänker i termer av ”liknande geometrier som inte är perfekta ekvivalenter”.

    Den normala användaren tror felaktigt i termer av exakt kongruens . Så, användningen av fel hypotes , producera sjuka Y frågor.


    ” XY-problemet ”som en specialisering av” fel hypotesbeteende ”

    Du vill lösa den verkliga frågan- X, och du tänker i termer av en Y -kontext, och försök att använda fråga- Y. I stället för att fråga om kontext X, frågar du om kontext Y.
    (som @Gnome märkte ovan , men med andra ord)

    Så, ”XY Problem” är bara en annan (mer specialiserad) term för att säga ”Användning av fel arbetshypotes .

    Kommentarer

    • Granska din nedröstning, jag redigerade för att skilja personlig åsikt från denna mer generiska och kanske intressanta form för att förklara ” vad är ”.
    • Jag får din mening från ditt svar och du ’ är den som svarar på frågan med animerad illustration. Om mitt rykte (i denna metagrupp) tillåter mig att rösta, kommer jag att rösta detta.
    • Detta svar illustrerar en typisk use case , när ” tänkande-imperativ programmerare ” ställer en fråga om funktionellt språk … Den föreslagna lösningen : fråga i toppnivå.
    • ledsen, varför den andra ekvivalenta triangeln har ett hål i den?
    • Hej @KorayTugay, din fråga är utanför räckvidden (det är ett klassiskt problem, så att du kan använda klassiska förklaringar, se min Wikipedia-länk!). PS: Jag gillar att se hålet som skillnaden , eftersom trianglarna är lika och har nästan samma område, men inte exakt samma område, så du kan konstruera hålet från den lilla remsan för den geometriska skillnaden.
    • @koraytugay titta på den punkt där de röda och blå trianglarna rör vid när animeringen återställs .. det blir tydligt att den blå triangeln är ” brantare ” än den röda, så när den blå triangeln är längst ner är hypotenusen ” konvex ” och när det är högst upp ” konkav ”. Denna ” böjning ” av hypotenusen ger upphov till en kvadrat ’ s skillnad i området

    Svar

    Undvik XY-problemet

    Jag argumenterar för att du inte kan undvika det. Inte utan att bara kasta dina programkrav på SO och be dem att göra din design för dig ( rekommenderas inte) .

    Jag argumenterar för att designprocessen för all programvara bygger på en startuppsättning av kraven ”A”. Därifrån säger du ”Jag kan uppnå A om jag gör B och C ”. Därifrån säger du” Jag kan uppnå B om jag gör D och E och jag kan uppnå C om jag gör F och G ”. Och det fortsätter till den punkt vi säger att” Jag kan uppnå X om jag gör Y ”. Vi brukar göra det så snabbt att vi inte ens tänker på processen.

    Så det största problemet med XY-problemet är att Y inte är möjligt, men du vet inte hur mycket av din design för att varva ner för att g et tillbaka till X vilket är möjligt. Du vet vanligtvis inte ens att Y är omöjligt utan att egentligen fråga. Du vet inte vad du inte vet. Därför är det oundvikligt


    Ställ frågor där du riskerar att hamna i XY

    Det bästa du kan göra med XY-problemet är att skydda mot det när du ställer frågor. Ställ fortfarande samma fråga men ge så mycket relevant information som möjligt:

    • Ange ditt problem
    • Ange vad du försöker uppnå
    • Ange hur det passar in i din bredare design

    Detta hjälper människor att identifiera att det är XY och hjälper dig mycket snabbare.


    VIKTIGT: Ge svar på XY-problem

    Enligt min mening är det största problemet med XY-frågor är (ofta) hjälpsamma svar de väcker. Vi kommer aldrig att stoppa folk att ställa dessa frågor så det bästa är att förstå hur vi kan svara på dem snabbt och effektivt.

    Ironiskt nog ges många av dessa dåliga svar och svar av dem som vill vara mest hjälpsamma och kan ges av några av de mest ansedda personerna på forumet / SO.

    Jag har upptäckt en metod för att svara på dessa frågor som verkar hjälpa till att komma runt psykologin som är förknippad med XY-problem och leda OP för en fråga till en fungerande lösning. Metoden tar lite längre tid att svara på den första instansen men stänger Q / A-slingan mycket snabbare.

    Jag föreslår att du svarar på frågan i tre delar och ger dem i följande ordning.

    1. Besvara OP: s fråga . Även om OP förmodligen behöver något annat, försumma aldrig att svara på den fråga de faktiskt har ställt först och inte den fråga du tror att de vill ha svar på. I vissa fall kan svaret vara ”Y är inte möjligt” . För ofta ser jag svar (kommentarer) som frågar ”varför behöver du det?” . Detta ger OP ingenting. Om du säger ”Det kommer att bli riktigt svårt. Förklara varför du behöver det, vi kanske kan hjälpa ” då i många fall kommer en OP helt enkelt att ta ” Y är riktigt svårt ” och gå tillbaka till ritbordet .. . Det är bra för att du har svarat på deras fråga och de kan väl komma tillbaka med fråga X själva.

    2. Diskutera OP: s försökte lösning . Den här biten är knepig och tar lite tanke. Men jag kan inte betona hur viktigt det är. Om OP har bett om Y och du tror att de vill ha X, fortsätt sedan med att prata om Y (INTE X) efter att ha svarat på deras fråga (1). Vad ska Y användas för? Hur är det inte tillämpligt på X? Det avgörande är att fortsätta prata om frågan men gå från att svara på den till att ge användbar information. För trots allt är det vad du tycker att OP behöver. Hjälpsam information och inte svaret på deras fråga.

    3. Lös X Det här är vad du har klådat att göra och är trots allt hela poängen med ditt svar. Du har träffat OP på deras villkor och svarat på deras fråga. Du har hjälpt dem att förstå bristerna i deras fråga och varför det är inte att lösa Y … så nu är du helt berättigad att förklara en lösning till X.

    De flesta människor är här för att lära sig så del 1 och 2 i detta svar är lika viktiga som del 3. Men alltför ofta del 3 ges på det äga och det är extremt frustrerande och nedlåtande för OP att inte tala om många OP kommer inte att acceptera svaret.

    Att ge detta svar undviker också pinsamhet när du tror att OP har ett XY-problem när de faktiskt don. t. Allt du har gjort är att ge lite extra information. Att bara ge del 3 risker som verkar ha inte läst frågan.


    Förresten. Läs frågan igen och läs det här svaret … lägg märke till de tre delarna?

    Kommentarer

    • Som ” XY Problem ” är en typ av ” Användning av fel hypotes ” , måste Stackoverflow-communityn hjälpa till att visa rätt hypotes … Detta är fokus i din ” Ge svar på XY-problem ”?
    • @PeterKrauss På sätt och vis. Det är mer av ett antagande (jag håller med om att gemenskapen borde) . Jag antar att någon som svarar på frågan vill ge del 3 – rätt hypotes. Problemet med XY-problemet ligger i den bortkastade tiden. Så detta fokus är att fokusera på att spendera tid på att ge del 1 och 2 i förväg inte är bortkastad tid utan faktiskt sparar tid på lång sikt. Du har rätt i att detta svar är generaliserbart för Användning av fel hypotes .
    • Alltför ofta tar OP svaret till Y och kör, utan att läsa vidare eller inse att Y var fel lösning på X. På grund av detta gav jag ’ hellre inte ett svar som kommer att missbrukas. Jag ’ riskerar hellre att förolämpa dem för att komma till rätt lösning än att ytterligare bidra till både dålig kod och felaktig logik.
    • @Tom Att ’ är bra, i sådana fall är ” du ber om något som är riktigt svårt ” eller ” du borde inte ’ t göra det, det ’ är en riktigt dålig idé ” typ (1) är helt lämpliga.
    • Jag skrattade högt efter att jag hade läst det här och kollade tillbaka. Utmärkt svar, utmärkta observationer, utmärkt ledarskap-som-exempel.
    • Jag tillägger att syftet med den här webbplatsen inte bara är att hjälpa personen som ursprungligen ställer frågan utan också att skapa ett förvar för någon annan som hittar frågan senare. Även om Y inte är rätt sätt att göra X kan det fortfarande vara användbart i sig själv i andra sammanhang, så att svara på Y kan också vara värdefullt.
    • Detta svarar faktiskt på den faktiska frågan ordentligt medan andra bara helt enkelt anger fakta

    Svar

    (skild från mitt andra svar eftersom den här har mer åsikt än förklaring)

    Om du håller med om att ”XY-problemet” bara är en annan (mer specialiserad) term för ”Användning av fel arbetshypotes”, som illustreras och förklaras här , och liknar ”Einstellung-effekten” förklaras här av @Jonathan Benn

    Vi kan tänka i termer av några huvudsituationer:

    • Rush situation: fel hypotes är bara en språklig eller förenklad bieffekt, som kan korrigeras av användaren med lite mer uppmärksamhet och investera mer tidsredigering av frågan.

    • Normal situation: som i illustrerad Missi ng Fyrkantigt pussel, du vet inte att din hypotes är fel. Detta är den huvudsakliga situationen att diskutera här (!).

    Så låt oss fokusera på normal situationen.


    LÖSNINGAR / ATTENUATORER

    ”XY-problemet” är ett giltigt problem!

    Stack Exchange-frågan är att visa ett problem. Om min fråga hjälper till att visa att verkligt problem är min fel hypotes , det är OK! Det är ett första steg , och kanske behöver jag inga andra frågor efter att ha fått rätt hypotes (och försöker lösa själv).

    Exempel. Se ” XPath för xml: lang? Testning av attributets självaxel misslyckas ”; det verkliga problemet är att @attribute::self inte existerar, så det var en fel hypotes om titeln på frågan.

    help/mcve -lösningen har begränsningar

    Stacköverflöde ”s help/mcve motivation : ”Hur man skapar en M inimal, C omplete och V erifiserbar E xample ”, kan användas för att undvika XY-problemet.

    Men redigeringskostnaden (tid och uppmärksamhet dyr), och uppfattningen att det är en typ av föroreningar i din text (en ”dålig marknadsföring” för frågan) är nackdelar.

    Det är också korrekt att förenkla problemet och förklara med mer fokus på poängen.


    Bästa praxis

    Träna användare av Stack Overflow för att kontrollera om förenklingen är vettig. Algoritm för en bra fråga:

    1. Försök att skapa en MCVE.

    2. Om en MCVE inte är pr försök åtminstone att förenkla.

      2.1. Testa, kontrollera om det är inkonsekvenser, simulera läsaren … och granska. Producerar din förenkling något konstigt, ändrar sammanhanget? Granska för att undvika fel.

    3. Lyssna till kommentarerna om din fråga , och försök att klargöra, försök att arbeta redigera frågan om det behövs: om det finns människor som kommenterar är det en märk att du kan investera mer tid i din fråga.

    Fel hypotes är inte självklar, men när vi förenklar förstärker vi fel effekter, och det blir tydligare.


    PS: Å andra sidan, när vi förklarar och visar alla detaljer, hela sammanhanget och kontrollerar den verkliga punkten, sammansättningen av problemet (som när vi använder mcve), inkonsekvenserna visar också med mer bevis.

    Kommentarer

    • Det ’ är min upplevelse att MCVE skapar fler XY-problem inte mindre. Det gör en mer ren abstraktion genom att ta bort den ursprungliga frågan. Det är X som kan finnas inom ramen för den ursprungliga frågan men MCVE kommer att konstrueras enbart för att uttrycka Y.
    • Tack @couling (!). Ja, som metodik är MCVE kanske inte en ” bästa praxis ”, utan är ett sätt att genomdriva ” … förklara och visa alla detaljer … ”. Vår hjärna fungerar bättre efter den typen av självgranskning … Du kan redigera och korrigera texten, det är en Wiki.

    Svar

    Förhandla om ett fackligt avtal …

    XY-problemet är relevant för skillnaden mellan ”räntebaserad förhandling (X) och” position ”-baserad förhandling (Y).

    X = den anställdes totala hemlön har varit stillastående under de senaste åren, medan deras levnadskostnader ständigt ökar, den anställde behöver mer hemlön.

    Y = att välja ”du kommer inte att höja parkeringsavgifterna” som en kulle att dö på / den enda ”lösningen” till X som den anställde är villig att acceptera.

    Syftet med Y (att ta en position) syftar till en mycket specifik och begränsad lösning på problemet (X). Det avskaffar medarbetaren från universumet av lösningar på problemet (X) genom att insistera på att det bara ska lösas på ett mycket specifikt och begränsat sätt. Om det sättet (Y) av vilken anledning som helst är anstötligt för arbetsgivaren, kommer det att vara en dödläge – en tidsperiod där det inte finns någon lösning på X, där en lösning måste vara acceptabel för båda sidor.

    Om den anställde kan sikta mot X istället för Y, förblir lösningsuniversumet öppet / obegränsat och arbetsgivaren kan rekryteras för att hjälpa till att hitta möjliga lösningar på X. (Kanske kommer det att visa sig vara OK med arbetstagaren höjer parkeringsavgiften i utbyte mot en levnadskostnad höjer …)

    Detta intresse / positionsparadigm verkar relevant för att ställa frågor om SO, när OP ber om hjälp med att få sin position att fungera. Ibland kan du klippa till X genom att helt enkelt fråga: ”Varför försöker du göra det här?”; Men jag undrar om ibland, att sikta på Y inte är lika värdefullt. Hur många av oss har någonsin försökt göra något, bara för att se om vi kunde? Någon här som kör sin egen DNS-server med någon specifik typ av programvara för just det anledning? 🙂 Kanske inte den bästa lösningen på X, men det är fortfarande intressant …

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *