Care este problema XY?

Care este problema XY?

Când pun întrebări, cum recunosc când „cad în ea? Cum pot o evitați?

Reveniți la indexul FAQ

Comentarii

  • Vedeți o postare PerlMonks pe același subiect.
  • trist exemplu al problemei XY: stackoverflow.com/questions/2691018/… disclaimer I ‘ m părtinitor acolo, fiind cel care pretinde identificarea X în loc să rezolve Y
  • Traducere în rusă pentru ru.stackoverflow.com
  • Există și ‘ Traducere în japoneză pentru ja.stackoverflow.com
  • Contrast cu ” provocări de cadru „, care sunt acum descurajat sau interzis pentru o serie de SE site-uri: interpersonal.meta.stackexchange.com/questions/1495/…
  • Secțiunea relevantă din ” Cum să puneți întrebări în modul inteligent „.
  • @ Sridhar-Sarnobat În analogia dvs., o întrebare X → Y ar fi ceva de genul, ” Cum se poate inhiba creșterea tipurilor de celule xyz prin reducerea nivelurilor de proteine tuv la un pacient ‘ fluxul sanguin? ” deoarece credeți acesta este singurul remediu posibil pentru cancer.
  • Hmmmm, așa că ‘ spui că este o întrebare prea specifică și ar trebui să adaug că ” obiectivul real ” este de a vindeca cancerul. Dacă da, punct corect. Deși, de fapt, problema opusă este că întrebările sunt închise ca domeniu prea larg.
  • Putem admite că acesta este cel mai rău nume posibil pentru această problemă? Numele nu are literalmente nimic de-a face cu ceea ce descrie. Ca și cum cineva spune ceva de genul ” pune căruța înaintea calului ” chiar dacă ‘ N-am auzit-o niciodată înainte, cel puțin au un indiciu că ceva este înapoi (caii trag, nu împing). ‘ nu am idei bune pentru un nume alternativ.
  • Uneori poate fi util să luăm în considerare lucrurile dintr-un context mai larg, având în vedere dacă ce ‘ progresează / rezultă tinde spre o soluție sensibilă

Răspuns

Ce este?

Problema XY este întrebând despre încercarea dvs. de soluție mai degrabă decât problema dvs. actuală.

Adică încercați să rezolvați problema X , și credeți că soluția Y ar funcționa, dar în loc să întrebați despre X când aveți probleme, întrebați despre Y.

Problema

Acest lucru poate duce la frustrare de către oamenii care încearcă să vă ajute să rezolvați problema, deoarece până când întrebați despre aceasta, soluția cu care aveți nevoie de ajutor ar putea să nu aibă legături evidente la problema pe care încercați să o rezolvați.

Cum să o evitați

Pentru a nu cădea în această capcană, includeți întotdeauna informații despre o imagine mai largă împreună cu orice încercare de soluție. Dacă cineva cere mai multe informații sau mai ales o întrebare mai specifică, oferiți detalii. Dacă există alte soluții despre care credeți că vor fi sugerate și pe care „le-ați exclus deja, atunci nu încercați să evitați să le treceți din nou – spuneți în schimb de ce le-ați exclus, deoarece acest lucru oferă mai multe informații despre cerințele dvs. și îi ajută pe ceilalți să ofere răspunsuri mai bune.

Un exemplu

O conversație recentă IRC pentru ilustrare:

Q: Există o funcție pentru a returna un șir între doi delimitatori?

B: Nu înțeleg ce vrei să spui, dar mă îndoiesc că există deja o funcție

C: Împărțiți și tăiați

D: Și partiție

Î: Am încercat partiție
Î: Încercam să folosesc încorporate pentru a obține numărul între așa ceva într-un șir ” attribute1: 50.223, attribute2: 442.1 ”

D: De ce nu analizăm doar șirul?

Î: Am crezut că s-ar putea să fi existat unele lucruri de analiză încorporate

D: pairs = [x.strip () pentru x în s.split („, „)]; attribs = {k: v pentru x în perechi pentru k, v în [x.split („: „)]}
D: Există câteva biblioteci, dar formatele simpliste sunt suficient de ușoare – dacă nu vă pasă de erori manipulare
D: Schimbarea sursei pentru a utiliza un format bine cunoscut, de ex. json sau yaml, este preferat atunci când este posibil

Q: Acest cod provine de fapt din HTML
Î: Dar nu știu cum să analizez Javascript cu HTMLParser sau cum se numește

D: Este doar încorporat în HTML sau într-o versiune a HTML modificată?

Q: Este încorporat în HTML

D: Dacă este JavaScript (și anume, cu excepția acoladelor externe lipsă), JSON probabil îl poate analiza

Î: Mulțumesc

D: Nu am spus-o în mod explicit: JSON analizează doar structurile de date, nu codul JS

Q: Asta este tot ceea ce am nevoie analizat este o structură de date

Problema este într-adevăr despre cum să analizați structurile de date JavaScript, nu găsiți ” un șir între doi delimitatori „, totuși este nevoie de puțin timp și intuiție pentru a ajunge la problema reală.

Acest lucru este mai ușor de făcut într-un chat complet interactiv (indiferent de ce mod), dar pe un site SE , unde lustruiți puțin o postare, postați-o și apoi aveți 5-30 de minute, sau mai mult, înainte de feedback, chiar vă ajută să vă îndreptați în direcția corectă de la început.

Comentarii

  • Problemele IMO XY sunt uneori utile deoarece răspunsurile ar putea ajuta întrebătorul să înțeleagă de ce soluția lor nu ar funcționa ‘ și ar înțelege mai bine originalul problemă în proces.
  • Cel mai simplu mod de a ajunge la problema reală este de obicei să întrebați de ce de cinci ori.
  • Deși, dacă începeți cu Y în loc de X, este posibil să aveți să întrebi de ce de 10 ori (sau mai multe, aplică cele 5 de ce la fiecare nivel?). 🙂
  • De ce Y – acea ‘ este întrebarea de pus
  • Pentru a fi corect, de multe ori întrebătorii pun întrebări despre X și răspunsul este ” că ‘ este prea mare, îl împărțim la un mic exemplu ” și astfel afișul își izolează încercarea de soluție Y și toată lumea pierde din vedere problema inițială.
  • Câteva lucruri pe care le-ați blocat cu Y. În prima mea lucrare a trebuit să modific un magazin online. Baza de cod a fost un mix putred de html PHP și js. Au existat 2 moduri de a remedia problemele: Refaceți totul (refuzat de șef) adăugați mai multe benzi. Așa că nu m-a ajutat cu adevărat acolo. ” Cum se face? ” ” De ce ați face asta? ” ” Pentru că trebuie să ” ” Ce este Da / Nu faceți acest lucru / de ce folosiți {antipattern}? ” ” Pentru că trebuie să ”
  • @OliverA. Apoi, o parte a întrebării devine o explicație a motivului pentru care trebuie să faceți Y. ” Trebuie să fac Y deoarece legacy / boss / old framework ” atunci întrebarea devine mai ușor de răspuns și mai valoroasă pentru toți.
  • @LegoStormtroopr Cu excepția faptului că mulți oameni nu ‘ nu înțeleg asta. Nu ‘ nu înțeleg că uneori nu aveți ‘ nu aveți luxul de a alege abordarea corectă și doar aveți pentru a adăuga codul existent, iar întrebarea este închisă ca fiind prea îngustă sau ceva de genul …
  • Am făcut încercări solide de a reduce toate întrebările mele până la un ” Y ” posibil. Nu am niciun interes să precizez întregul domeniu al problemei mele (mai ales când lucrez la software-ul propriu cu sursă închisă la locul de muncă) și îmi place (excluzând tratarea celor care insistă să parcurgă lanțul cu ” de ce? de ce? de ce? „) Pot obține un răspuns mai rapid încapsulând întrebările mele din orice context.
  • Depinde pe cel care cere ‘ cunoștințele generale despre spațiul problemei.Sunt de acord cu n00n, pentru cei mai experimentați cu alternativele, este posibil să fi exclus deja toate posibilele X ‘, iar acum X este o constantă și vor să rezolve doar pentru Y. Îndepărtează întrebarea de a trece peste toate X ‘ posibile pe care ‘ le-ați exclus deja și adânciți în politica de birou sau în arhitectura de sistem existentă. Cineva mai puțin experimentat ar putea beneficia de a avea alte ‘ recenzii alternative X ‘ s și le va sugera să reconsidere acea precondiție. > Contraexemplul: Eu: Există vreo modalitate de a schimba directorul curent în Java? Altele: în java nu este necesar ‘ să faceți acest lucru. Ce vreți să faceți? Eu: (oftat) OK, am un jar executabil pentru un program care ascultă un port și schimbă mesaje. Borcanul se află în mod normal în x / bin, iar configurația se află în x / conf. Deci, programul își citește configurația din ../conf. Acum vreau să rulez asta într-un server tomcat apelând singur metoda programului ‘. Dar nu am control asupra directorului de start al serverului ‘ și pe ” ../conf” nu este un loc acceptabil.
  • (cont) Așa că mă întreb dacă există vreo modalitate de a schimba directorul de start pentru un fir. Altele: Oh, văd. Ei bine, nu puteți ‘ face asta în Java. Eu: De ce nu ți-ai putut ‘ să-mi spui asta mai devreme? – În acest caz, am pus întrebarea X și mi s-a răspuns la întrebarea Y (cum să folosesc fișiere în Java).
  • De obicei, nu vreau ca oamenii să-mi rezolve problema, doar să răspund la întrebarea mea. Poate fi destul de enervant atunci când oamenii încearcă să ajute cu primul, nu cu cel din urmă.
  • @NoctisSkytower Dar de cele mai multe ori fiecare răspuns este dependent de context … Î: ” Cum pot face X în C? ” A: ” Există 20 de moduri diferite, fiecare cu propriile capcane și cazuri de utilizare, le puteți studia singur și face toate greșelile pe care le-au făcut alții sau ne puteți spune ce problemă doriți să rezolvați cu acest lucru și vă putem oferi cea mai bună abordare ! ” Î: ” Nu vreau ‘ o prelegere îmi dă orice răspuns, ‘ nu-mi pasă! ” – A: ” -.- pa. ”
  • Site-urile SE neprogramate se leagă de acest răspuns pentru a explica conceptul XY Problem. Un exemplu mai universal (fără programare) ar fi și mai util.

Răspuns

Problema XY, așa cum se numește uneori, este un bloc mental care duce la cantități enorme de timp și energie irosite, atât din partea oamenilor care cer ajutor, cât și din partea celor care oferă ajutor. De multe ori merge așa ceva

  • Utilizatorul dorește să facă X.
  • Utilizatorul nu știe cum să facă X, dar crede că poate căuta o soluție dacă pot reuși doar să facă Y.
  • Nici utilizatorul nu știe cum să facă Y.
  • Utilizatorul cere ajutor cu Y.
  • Alții încearcă să ajutați utilizatorul cu Y, dar sunt confuzi deoarece Y pare o problemă ciudată pe care doriți să o rezolvați.
  • După multă interacțiune și timp pierdut, devine în sfârșit clar că utilizatorul dorește cu adevărat ajutor cu X și că Y nu a fost nici măcar o soluție adecvată pentru X.

Problema apare atunci când oamenii își împiedică gândirea într-o abordare și devin incapabili să facă un pas înapoi. uitați-vă la imaginea de ansamblu, acești oameni ar putea găsi drumul înapoi la X și vor continua să caute soluții alternative.

Consultați „ XyProblem ” pentru mai multe informații.

Comentarii

  • De asemenea, cred că acest răspuns este necesar în plus față de explicație. Am citit cele de mai sus, am încercat să mă gândesc la problema mea actuală (dacă este o întrebare X sau Y) și, când am citit acest comentariu, am primit ” aha ” moment de înțelegere că dacă aș fi postat întrebarea mea, aș fi întrebat despre Y nu X. Reiterarea situației mele ar putea fi un bloc mental axat pe modul în care rezolv problema, mai degrabă decât declararea clară a problemei pe care vreau să o rezolv este foarte utilă.
  • Cred că este responsabilitatea utilizatorilor ‘. ‘ Am întâlnit de multe ori problema, că am vrut să rezolv problema X și toată lumea a sugerat Y și Z. Dar dacă aș fi vrut o soluție pentru Y sau Z, aceasta este ceea ce cerusem. Mi se pare puțin jenant acest lucru, nu numai pentru că răspunsurile pe care le primesc nu aparțin întrebării mele, ci și pentru că mă simt subestimat.De aceea, dor intenționat de orice detalii care ar putea induce în eroare răspunsul meu în acest mod rău.
  • Acest răspuns particular îmi amintește de Maslow ‘ s Hammer
  • Nu sunt de acord cu răspunsul. Dacă aveți problema X și spuneți Y ca soluție și solicitați ajutor pentru Y, ceea ce faceți ‘ este să stabiliți înțelegerea (probabil defectă) a problemei. Când vreau să ajut pe cineva, vreau să știu nu numai întrebarea X, ci și cum se gândesc în prezent (Y). Uneori este ‘ mai important să înveți cum să gândești decât să înveți ce să gândești. Iar problema XY îmi oferă indicii importante despre cum să abordez acest lucru.
  • De fapt, admonestarea problemelor XY este deosebit de neprietenoasă. Și (pentru a alege, oh, unul): stackoverflow a fost atroce în această privință în ultimii ani. ‘ susțin că celelalte site-uri SE centrate pe programator nu ‘ sunt atât de irepetabil, așa cum au făcut-o.
  • @ tgm1024 Nu ‘ nu înțeleg destul comentariile tale; problema XY nu apare atunci când un utilizator își include procesul de gândire oferind atât X, cât și Y în întrebare, ci ‘ este atunci când utilizatorul nu ‘ t include procesul lor de gândire și dă doar Y pentru că mai ales în acest caz este greu ‘ să-i înveți să gândească .
  • @JiK, fie îl identificați ca fiind o problemă XY, fie că nu ‘ t. Dacă faceți acest lucru, atunci ‘ știți bine X. Dacă nu aveți ‘ t, atunci ‘ Mai bine nu presupunem ce este X, deoarece Y prezentat ar putea fi de fapt o întrebare validă .
  • Utilizatorul nu nu știu cum să facă X, dar consideră că pot să se îndrepte spre o soluție dacă reușesc doar să facă Y. Seamănă cu modul în care toate problemele îmi sunt rezolvate: P. Dus la extrem, toată lumea ar trebui să-și înceapă întrebarea cu ” Vreau să-mi îmbunătățesc viața / lumea într-un fel. M-am născut în 19 … ”
  • Uneori ‘ este destul de corect. Cu mulți ani în urmă, după ce Oracle DBA a apelat la mine (administratorul său) și a spus, obosit, ” Cumva, undeva, ceva nu a funcționat corect ” Mi-am făcut un tricou cu asta pe el. Este, în multe feluri, un raport de eroare perfect pentru că nu ‘ face nici o presupunere pe care apoi trebuie să îl resping: începe cu lui problemă și îmi permite să descopăr observațiile sale și așteptările sale pentru a vedea unde ar putea fi nepotrivirea cu realitatea.
  • @ tgm1024 ‘ s despre evitarea pierderii mult timp pentru atât cel care a întrebat, cât și cei care răspund. Dacă sunteți conștienți de avertismentele unui Y posibil, atunci ar trebui să includeți aceste informații în întrebarea dvs. Cererea suplimentară pentru X va fi evitată. Dacă nu ‘ știi că avertismentele care solicită X este probabil exact ceea ce ai nevoie, deoarece o soluție pentru Y nu te va ajuta prea mult. Nu ar fi neprietenos să nu le îndreptăm spre soluția corectă și să le lăsăm în schimb cu o soluție slabă. dezacord. Cu toate acestea, — > Dacă aveți problema X și spuneți Y ca soluție și solicitați ajutor pentru Y, ceea ce ‘ re a face este să vă stabiliți (probabil defectul) înțelegerea problemei. Când vreau să ajut pe cineva, vreau să știu nu numai întrebarea X, ci cum se gândește în prezent (Y). Uneori este ‘ mai important să înveți cum să gândești decât să înveți ce să gândești. Iar problema lor adecvată și valoroasă îmi oferă indicii importante despre cum să abordez acest lucru.
  • @ tgm1024 Aceasta este literalmente ceea ce ai spus deja inainte de. Punctul meu a fost despre afirmația dvs. conform căreia avertizarea problemelor XY este deosebit de neprietenoasă. Desigur, ‘ este, de asemenea, o întrebare cu privire la modul în care vă exprimați suspiciunea că o întrebare ar putea fi o problemă XY. Dar, în general, nu ‘ nu sunt de acord că îndreptarea către persoana care întreabă acest lucru nu este neprietenoasă, întrucât ar putea fi de fapt ceea ce el / ea are de fapt nevoie. De aceea, ‘ este motivul pentru care cer de obicei mai multe informații despre cazul de utilizare. Dacă Y este o întrebare ușor de răspuns, de obicei răspund oricum cu o notă că s-ar putea să nu fie soluția dorită oricum.
  • @trixn, bineînțeles că poți îndrepta pe cineva în direcția corectă și bineînțeles poți îndruma pe cineva către un nou mod de a privi ceva.Cu toate acestea, pentru a începe cu noțiunea că formarea întrebării în sine este într-un fel greșită este ceea ce am ‘ în contradicție puternică. De exemplu, uitați-vă la citatul hiperbolic din 71 de răspunsuri votate de Jonathan Benn: ” Specific Q & A, pericolul unui Problema XY provine din faptul că este frustrantă pentru toți cei implicați. ” Aceasta este pur și simplu o prostie. Întrebarea XY este valoroasă. ‘ este doar frustrant pentru persoanele care doresc să fie așa.
  • Explicație excelentă. RE: ” și că Y nu era ‘ chiar și o soluție potrivită pentru X „, Cred că uneori Y poate fi o soluție pentru X. Dar nu este o soluție naturală sau practică.
  • Imo, aceasta este cea care ar trebui să fie deasupra. Nici o ofensă la răspunsul de sus, dar eu mai întâi am citit asta și m-a făcut să mă scarpinez pe cap, apoi am coborât să văd acest lucru și răspunsul mi-a fost clar.

Răspuns

O problemă XY pare a fi un subset al efect Einstellung , în care un rezolvator de probleme se blochează pe o anumită soluție și nu poate a da înapoi mental pentru a vedea soluții potențial superioare. Acest fenomen psihologic îi afectează pe toți, începători și experți deopotrivă.

De ce prima ta idee te poate orbi la unul mai bun ” explică un exemplu de la șah, unde o persoană câștigă cu un partener sufocat în 5 mișcări într-un singur joc. Următorul joc, același jucător nu reușește să vadă un partener mai rapid cu 3 mutări, deoarece este blocat în ideea unui partener cu 5 mutări.

Specific Q & A, pericolul unei probleme XY provine din faptul că este frustrant pentru toți cei implicați:

  1. Persoana care pune întrebarea pune întrebarea greșită (care este mai degrabă legată de încercarea lor de soluționare decât de problema inițială) și apoi este dificil să clarifice întrebarea, deoarece sunt blocați pe propria lor soluție. Răspunsurile propuse sunt nesatisfăcătoare deoarece nu abordează modul de implementare a soluției autorului.
  2. Oamenii care răspund la întrebare consideră că este frustrant, deoarece soluția propusă nu are sens pentru ei, deoarece se apropie de problemă dintr-un unghi nou și (probabil) nu sunt afectați de efectul Einstellung și le este greu să obțină posterul original pentru a-și clarifica întrebarea.

Comentarii

  • Interesant cum Einstellung effect descrierea se bazează pe o greșeală evidentă. Luchin experimenta cum oamenii ar deduce problema din descrierea sa incompletă și ambiguă (era el cerând optimizare pentru latență sau optimizare pentru randament?). Cu toate acestea, s-a făcut înșelător că se presupune că încă experimentează ” cum ajung oamenii la soluții / div>. Poate că este un lucru referențial. Luchin a fost atât de concentrat pe interesul său, că nu a observat când s-a îndreptat către o problemă foarte diferită.
  • Sursa mea a fost Scientific American, dacă vă opuneți, o puteți lua cu ele;)
  • Cred că este mai bine exemplu din șah ar fi ceva de genul unui jucător concentrat pe încercarea de a obține un șah complicat cu material insuficient, în timp ce trece cu vederea faptul că au un pion care ar putea regina.

Răspuns

Problema Lipsește puzzle pătrat este o ilustrare bună. Acesta ilustrează un proces simplu / universal de problemă / întrebare / soluție, în care „o anumită iluzie” provoacă complicații.

Există o problemă de la sine înțeleasă — 1 × O gaură în care apare pe a doua figură —, dar soluția este evidentă numai după ce știm (ca un ou de Columb) … Toți oamenii, experți și non-experți, sunteți de acord că există o problemă.

introduceți descrierea imaginii aici

  • utilizator normal : crede că „există două cifre echivalente ,„ triunghiurile totale ”într-o grilă perfectă de 13 × 5 .. . „, urmând întrebarea:

    • problemă Y : „De ce are al doilea triunghi echivalent o gaură în el?” .
  • utilizator expert : gândiți-vă ceva de genul „ups , sunt similare , dar nu cifre „perfect echivalente”, urmând întrebarea:

    • problemă X : „Cum se arată că nu sunt echivalenți perfecți?” .

Expertul în geometrie inteligent gândește în termeni de „geometrii similare care nu sunt„ echivalente perfecte ”.

Utilizatorul normal crede , în mod eronat, în termeni de congruență . Deci, utilizarea ipoteză greșită , produce Y întrebări greșite.


„ Problema XY ”ca specializare a„ comportamentului ipotezelor greșite ”

Doriți să rezolvați întrebarea reală – X și vă gândiți la termenii unui context Y și încercați pentru a utiliza întrebarea- Y. În loc să întrebați despre context X, întrebați despre context Y.
(așa cum @Gnome a observat mai sus , dar folosind alte cuvinte)

Deci, „XY Problem” este doar un alt termen (mai specializat) pentru a spune „Utilizarea ipoteză de lucru greșită .

Comentarii

  • Vă rugăm să revizuiți votul negativ, am editat pentru a separa opinia personală de această formă mai generică și poate interesantă de explicat ” ce este „.
  • Îmi înțeleg sensul din răspunsul tău și tu ‘ ești cel care răspunde la întrebare cu ilustrație animată. Dacă reputația mea (în această comunitate meta) îmi permite să votez în sus, voi vota în sus.
  • Acest răspuns ilustrează un tipic use case , când ” programator de gândire-imperativ ” pune o întrebare despre limbajul funcțional … Soluția sugerată : întrebați la nivelul superior.
  • îmi pare rău, de ce al doilea triunghi echivalent are o gaură în el?
  • Bună @KorayTugay, întrebarea dvs. este în afara domeniului de aplicare (este o problemă clasică, astfel încât să puteți folosi explicații clasice, consultați link-ul meu Wikipedia!). PS: Îmi place să văd gaura ca diferența , deoarece triunghiurile sunt similare și au aproape aceeași zonă, dar nu exact aceeași zonă, astfel încât să puteți construi gaura din fâșia mică a diferenței geometrice.
  • @koraytugay privește punctul în care triunghiurile roșii și albastre se ating atunci când animația se resetează .. devine clar că triunghiul albastru este ” mai abrupt ” decât roșu, deci atunci când triunghiul albastru este în partea de jos, hipotenuza este ” convexă ” și când în partea de sus este ” concav „. Această ” îndoire ” a hipotenuzei dă naștere unei diferențe în valoare de ‘ în zonă

Răspuns

Evitarea problemei XY

Susțin că nu poți să o eviți. Nu fără a arunca pur și simplu cerințele programului la SO și a le cere să-ți facă designul pentru tine ( nerecomandat) .

Argumentez acest lucru deoarece procesul de proiectare pentru toate software-urile se bazează pe un set inițial de cerințe „A”. De acolo spuneți „Pot obține A dacă fac B și C „. De acolo spui” Pot obține B dacă fac D și E și pot obține C dacă fac F și G „. Și asta continuă până la punctul în care spunem că” Pot obține X dacă fac Y „. De obicei, facem acest lucru atât de repede încât nici măcar nu ne gândim la proces.

Deci, problema majoră cu problema XY este că Y nu este posibil, dar nu știi cât din proiectare pentru a vă relaxa de g și înapoi la X ceea ce este posibil. De obicei, nici măcar nu știi că Y este imposibil fără să întrebi de fapt. Nu știi ce nu știi. Prin urmare, este inevitabil


Puneți întrebări în care riscați să intrați în XY

Cel mai bun lucru pe care îl puteți face cu privire la problema XY este să vă protejați împotrivă atunci când puneți întrebări. Puneți totuși aceeași întrebare, dar dați cât mai multe informații pertinente :

  • Afirmați problema dvs.
  • Afirmați ce încearcă să realizeze
  • Spuneți cum se încadrează în designul dvs. mai larg

Acest lucru îi va ajuta pe oameni să identifice că este XY și vă va ajuta mult mai repede.


IMPORTANT: oferirea de răspunsuri la problemele XY

În opinia mea, cea mai mare problemă cu Întrebările XY sunt răspunsurile (frecvent) inutile pe care le provoacă. Nu vom opri niciodată oamenii să pună aceste întrebări, așa că cel mai bun lucru este să înțelegem cum le putem răspunde rapid Și eficient.

În mod ironic, multe dintre aceste răspunsuri și răspunsuri proaste sunt date de cei care doresc să fie cei mai de ajutor și pot fi date de unii dintre cei mai reputați oameni de pe forum / SO.

Am descoperit o metodă de a răspunde la aceste întrebări care pare să ajute la rezolvarea psihologiei asociate cu problemele XY și să conducă PO-ul unei întrebări la o soluție de lucru. Metoda durează puțin mai mult pentru a răspunde în prima instanță, dar închide bucla Q / A mult mai repede.

Vă sugerez să răspundeți la întrebare în trei părți și să le dați în următoarea ordine.

  1. Răspundeți la întrebarea OP „s . Chiar dacă PO are nevoie probabil de altceva, nu neglija niciodată să răspundă la întrebarea pe care au pus-o mai întâi și nu la întrebarea pe care crezi că vrea să o răspundă. În unele cazuri, răspunsul poate fi „Y nu este posibil” . Prea des văd răspunsuri (comentarii) întrebând „de ce ai nevoie de asta?” . Acest lucru nu oferă nimic OP. Dacă spui „Asta” va fi foarte greu. Explicați de ce aveți nevoie de el, este posibil să vă putem ajuta „ apoi, în multe cazuri, un OP va lua pur și simplu ” Y este foarte greu „ și va reveni la planșa de desen .. . Este în regulă pentru că le-ați răspuns la întrebare și ei pot reveni cu întrebarea X ei înșiși.

  2. Discutați soluția încercată de OP . Acest pic este dificil și se gândește. Dar nu pot sublinia cât de important este. Dacă PO a cerut Y și credeți că doresc X, după ce ați răspuns la întrebarea lor (1) continuați să vorbiți despre Y (NU X). Pentru ce se folosește Y? Cum nu se aplică lui X? Lucrul crucial este să continuăm să vorbim despre întrebare, dar să trecem de la a răspunde la aceasta la furnizarea de informații utile. Pentru că, după toate acestea, credeți că are nevoie OP-ul. Informații utile și nu răspunsul la întrebarea lor.

  3. Rezolvați X Acesta este ceea ce v-a fost mâncărime să faceți și este până la urmă întregul punct al răspunsului dvs. „L-ați întâlnit pe OP în condițiile lor și le-ați răspuns la întrebare. Le-ați ajutat să înțeleagă eșecurile întrebării lor și de ce nu trebuie să rezolvați Y … așa că acum sunteți complet justificat în a explica o soluție până la X.

Majoritatea oamenilor sunt aici pentru a învăța, astfel încât părțile 1 și 2 din acest răspuns sunt la fel de importante ca partea 3. Dar prea des partea 3 este dată propriu și este extrem de frustrant și favorabil pentru OP să nu menționez că o mulțime de OP-uri nu vor accepta răspunsul.

Oferirea acestui răspuns evită și jenarea atunci când credeți că OP are o problemă XY când de fapt nu faceți. Tot ce ați făcut este să dați puține informații suplimentare. Pur și simplu, dați părții 3 riscuri care par să nu fi citit întrebarea.


De altfel. Citiți din nou întrebarea și citiți acest răspuns … observați cele trei părți?

Comentarii

  • Ca ” Problema XY ” este un fel de ” Utilizarea greșitului ipoteză ” , comunitatea Stackoverflow trebuie să ajute la afișarea ipotezei corecte … Acesta este accentul pe ” Dând răspunsuri la problemele XY „?
  • @PeterKrauss Într-un sens. Aceasta este mai mult o presupunere (sunt de acord că ar trebui să fie comunitatea) . Presupun că cineva care răspunde la întrebare vrea să dea partea 3 – ipoteza corectă. Problema problemei XY constă în timpul pierdut. Așadar, accentul pe acest răspuns este să subliniem că petrecerea timpului oferind părților 1 și 2 în față nu este timp pierdut, ci economisește timp pe termen lung. Aveți dreptate că acest răspuns este generalizabil pentru Utilizarea unei ipoteze greșite .
  • Prea des, OP ia răspunsul la Y și rulează, fără să citească sau să-și dea seama că Y a fost soluție greșită la X. Din această cauză, am ‘ mai degrabă nu le-am dat un răspuns care va fi folosit greșit. ‘ riscă mai degrabă să-i jignesc pentru a ajunge la soluția corectă decât să contribuie în continuare atât la codul greșit, cât și la logica defectuoasă.
  • @Tom That ‘ e bine, în aceste cazuri ” solicitați ceva care este cu adevărat greu ” sau ” nu ar trebui să ‘ nu faceți acest lucru, ‘ este o idee foarte proastă ” partea de tip (1) sunt complet adecvate.
  • Am râs cu voce tare după ce am terminat de citit acest lucru și am verificat înapoi. Răspuns excelent, observații excelente, leadership excelent prin exemplu.
  • Aș adăuga că scopul acestui site nu este doar de a ajuta persoana care pune inițial întrebarea, ci și de a crea un depozit pentru oricine altcineva care găsește întrebarea mai târziu. Chiar dacă Y nu este modalitatea corectă de a face X, poate fi utilă în sine în alte contexte, astfel încât răspunsul la Y poate fi și el valoros.
  • De fapt, acesta răspunde corect la întrebarea actuală, în timp ce alții au afirmat pur și simplu fapte

Răspunde

(separat de celălalt răspuns pentru că acesta are mai multe opinii decât explicații)

Dacă sunteți de acord că „Problema XY” este doar un alt termen (mai specializat) pentru „Utilizarea unei ipoteze de lucru greșite”, ca ilustrat și explicat aici și similar cu „Einstellung effect” explicat aici de @Jonathan Benn

Putem gândi în termenii unor situații principale:

  • Rush situație: ipoteza greșită este doar un limbaj sau un efect secundar de simplificare excesivă, care poate fi corectat de utilizator cu puțin mai multă atenție și investind mai mult timp editând întrebarea.

  • Normal situație: ca în ilustrat Missi Cu un puzzle pătrat, nu știi că ipoteza ta este greșită. Aceasta este principala situație de discutat aici (!).

Deci, să punem accentul pe situația normală .


SOLUȚII / ATENUATORI

„Problema XY” este o problemă validă!

Întrebarea Stack Exchange este pentru a arăta o problemă. adevărata problemă este ipoteza mea greșită , este OK! Este un primul pas și poate că nu voi mai avea nevoie de alte întrebări după ce am obținut ipoteza corectă (și încerc să rezolv singur).

Exemplu. Consultați „ XPath pentru xml: lang? Testarea axei de sine a atributului eșuează „; problema reală este că @attribute::self nu există, deci a fost o ipoteză greșită cu privire la titlul întrebării.

Soluția help/mcve are limitări

Stack Overflow „s help/mcve justificare : „Cum să creați un M inimal, C complet și V erificabil E xample „, poate fi utilizat pentru a evita problema XY.

Dar costul editării (timpul și atenția sunt scumpe) și percepția că este un fel de poluare în textul dvs. (un „marketing rău” pentru întrebare), sunt dezavantaje.

Este corect să simplificați problema. și explică cu mai multă atenție asupra punctului.


Cele mai bune practici

Antrenează utilizatorii Stack Overflow pentru a verifica dacă simplificarea are sens. Algoritm pentru o întrebare bună:

  1. Încercați să creați un MCVE.

  2. Dacă un MCVE nu este pr actical, încercați cel puțin să simplificați.

    2.1. Testați, verificați dacă există incoerențe, simulați cititorul … și examinați. Simplificarea ta produce ceva ciudat, schimbă contextul? Examinați pentru a evita erorile.

  3. Ascultați comentariile despre întrebarea dvs. , și încercați să clarificați, încercați să lucrați editând întrebarea dacă este necesar: dacă există oameni care comentează, este un observați că puteți investi mai mult timp în întrebarea dvs.

Ipoteza greșită nu este evidentă, dar atunci când simplificăm, amplificăm efectele greșite și devine mai evidentă.


PS: Pe de altă parte, când explicăm și afișăm toate detaliile, tot contextul și verificăm punctul real, ansamblul problemei (cum ar fi atunci când se utilizează mcve), inconsecvențele se arată și cu mai multe dovezi.

Comentarii

  • Este ‘ experiența mea că MCVE creează mai multe probleme XY nu mai puțin. Face o abstracție mai pură prin eliminarea contextului întrebării inițiale. Acesta este X-ul ar putea fi cuprins în contextul întrebării inițiale, dar MCVE va fi construit exclusiv pentru a exprima Y.
  • Mulțumesc @couling (!). Da, deoarece metodologia MCVE poate nu este o ” cea mai bună practică „, ci este o modalitate de a aplica ” … explicați și afișați toate detaliile … „. Creierul nostru funcționează mai bine după acest tip de auto-revizuire … Puteți edita și corecta textul, este un Wiki.

Răspundeți

Negocierea unui contract sindical …

Problema XY este relevantă pentru diferența dintre negocierea bazată pe „interes” (X) și negocierea bazată pe „poziție” (Y).

X = plata totală a angajaților la domiciliu a fost stagnantă în ultimii ani, în timp ce costul vieții lor crește continuu; angajatul are nevoie de mai mult salariu la domiciliu.

Y = alegerea „nu veți crește taxele de parcare” ca deal pe care să muriți / singura „soluție” la X pe care angajatul este dispus să o accepte.

Scopul lui Y (luarea unei poziții) vizează o soluție foarte specifică și limitată la problemă (X). Îl întrerupe pe angajat din universul soluțiilor la problemă (X) insistând ca aceasta să fie rezolvată doar într-un mod foarte specific și limitat. Dacă acest mod (Y) este, din orice motiv, împotrivă angajatorului, atunci va exista un impas – o perioadă de timp în care nu există o soluție la X, unde o soluție trebuie să fie acceptabilă pentru ambele părți.

Dacă angajatul poate viza X în loc de Y, atunci universul soluțiilor rămâne deschis / nerestricționat, iar angajatorul poate fi recrutat pentru a ajuta la găsirea unor soluții posibile pentru X. (Poate că se va dovedi a fi OK cu angajatul să mărească tarifele de parcare, în schimbul creșterii costului vieții …)

Această paradigmă a interesului / poziției pare relevantă pentru a pune întrebări cu privire la SO, atunci când OP cere ajutor pentru ca poziția lor să funcționeze. Uneori puteți reduce la X întrebând pur și simplu: „De ce încercați să faceți acest lucru?”; Dar mă întreb dacă uneori, vizând Y nu este la fel de valoros. Câți dintre noi au încercat vreodată să facă ceva, doar pentru a vedea dacă putem? Oricine rulează aici propriul server DNS cu un anumit tip de software pentru acest lucru motiv? 🙂 S-ar putea să nu fie cea mai bună soluție pentru X, dar este încă interesant …

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *