Cum să puneți întrebările în mod corect sau problema xy

Cum să puneți întrebările în mod corect sau problema xy

Ce este cu "Problema XY"?

Aceasta este o greșeală, care duce adesea la o pierdere de sens fără timp, atât pentru a cere ajutor, cât și pentru cei care încearcă să-i răspundă. Se mai numeste si "problema ciocanului". Esența ei, pe scurt, este că oamenii tind să întrebe despre încercările lor nereușite de a rezolva problema și nu despre problema în sine. Rezultatul este ceva de genul:

  • O persoană vrea să facă X.
  • El nu știe să facă X. Dar își dă seama că succesul Y poate duce la succes.
  • Cu toate acestea, o persoană nu știe cum să facă și Y.
  • În acest moment, el decide să ceară ajutor de la alte persoane.
  • Toată lumea încearcă să ajute o persoană cu problema Y. minunându-se că nu este clar de ce cineva ar avea nevoie de acest lucru.
  • După întrebări îndelungate și prețul multor timpi pierduți, în cele din urmă devine clar că persoana a vrut să-l rezolve pe X. și pe Y nu-l ajută deloc.

Și de ce problema "Hammer"?

Din cauza unui exemplu clar, deși exagerat:

Cum să puneți întrebările în mod corect sau problema xy

Cum să puneți întrebările în mod corect sau problema xy

Și poate mai multe exemple de viață?

n00b. Cum pot imprima ultimele trei caractere ale unui fișier?

feline. Ei bine, de exemplu, astfel: echo $
feline. Și de ce trei personaje? De ce aveți nevoie de ceva?
feline. Poate extensia fișierului?

feline. Deci vorbeste direct, ce vrei!
feline. Nu faptul că fiecare nume de fișier are o extensie de trei litere.
feline. Deci este stupid să iei ultimele trei personaje - nu este o soluție la problemă.
feline. Este necesar astfel: echo $

Angela. 'Nmap -O -A 127.0.0.1' returnează mai multe linii începând cu 'OS:'. Cum de a schimba acest lucru?
Obama. Uitați-vă la sursele nmap, găsiți locul unde specifică axa și rescrieți stiva TCP / IP astfel încât să nu redea sistemul de operare nmap.
Angela. Cool, dar nu știu nimic despre api linux.
Obama. Este păcat, dar se pare că nu există nicio cale de ieșire decât să rescrieți stiva TCP / IP.
Angela. Dar eu trebuie să evit astfel de mesaje: pot iptables să mă ajute?
Obama. Ei bine, nu puteți folosi detectarea sistemelor de operare, care este problema?
Angela. Vreau ca alții să nu poată afla ce sistem de operare este mai mic.

Da, se pare că puteți pierde mult timp. Și ce este moralul?

Pentru a evita problema XY, trebuie să respectați următoarele reguli simple:

  • Pentru a oferi suficiente informații despre problema care trebuie soluționată - în plus față de cel mai nefericit exemplu, trebuie să scrieți ceea ce doriți să realizați în general.
  • Dacă cineva vă cere mai multe informații despre această problemă, este probabil util să oferiți aceste informații.
  • Scrieți întotdeauna despre ceea ce ați încercat deja și de ce au refuzat acest lucru. Acest lucru vă va ajuta să stabiliți mai exact ce aveți nevoie.

Și amintiți - dacă presupunerile dvs. erau întotdeauna corecte, nu aveați nevoie de ajutor, nu?

Apropo, recomandări încă utile despre cum să punem corect întrebări, prietenii noștri din Stack Overflow ne-au împărtășit.

Peter Sokovs. Traducător de cod binar în rusă

Articole similare