Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 8677|Válasz: 0

Miért nem tudsz Stackoverflow nélkül megélni?

[Linket másol]
Közzétéve 2016. 10. 04. 9:30:55 | | | |
Programozóként, ha még nem hallottál a Stackoverflow-ról, jobb, ha átgondolod a játékot. Az egyik programozási könyv, amit a programozóknak a legtöbbet kell olvasniuk (sőt, elég, ha ezt csak programozási könyvekre hagyjuk!). ):

(A főoldal, amit Jun erősen beillesztett, a fenti kép egy paródiágus, néhány netijátékos ezt korábban nem értette, főleg hogy kimondja)
Azoknak a programozóknak, akik még nem olvasták el a könyvet, itt az ideje venni egyet. Ha még mindig bizonytalan vagy, nézd meg ezt a cikket, hogy lásd, miért nem tudsz StackOverflow nélkül megélni.
A kérdések bölcsessége
Amikor technikai kérdést teszel, hogy hasznos választ kapsz-e, gyakran attól függ, hogyan kérdezed fel és hogyan követed a nyomot. —— Eric S. Raymond
Néha egy probléma, különösen egy technikai probléma világos leírása nem olyan egyszerű, mint amilyennek látszik. A kérdések feltevése mindig is tudomány volt, de sajnos sokan nem veszik észre vagy nem figyelnek eléggé rá. Vagy néhány kérdező egyáltalán nem kér segítséget. Így mindenféle kérdést találunk, amire az emberek nem tudnak válaszolni vagy nem akarnak válaszolni:
Java regex probléma?
Mi az SLA válaszidő?
Mi a különbség az ATL órák és az általános osztályöröklés között?
Hogy elkerüld, hogy a fenti probléma bezáródjon vagy módosítsa, tegyél ide egy képet, hogy megtapasztald ezt a szar problémát:

Sok ilyen kérdést találsz a SegmentFault megválaszolatlan kérdéseiben, így sokaknak nyilvánvalóan nincs meg a bölcsessége vagy hozzáállása ahhoz, hogy kérdéseket tegyen fel. Raymond és Rick Moen klasszikus esszét írtak a kérdések feltevéséről The Smart Way (http://www.catb.org/~esr/faqs/smart-questions.html#translations) címmel, amelyet különböző nyelvekre fordítottak, széles körben terjed, és kínai kiadásban itt található. A Stackoverflow és a Segmentfalut is javaslatokat kínál kérdések feltevésére:
Segítségközpont > Kérdezés
Hogyan kérdezz
Hogyan tehetek fel egy jó kérdést?
Milyen kérdéseket szívesen fogadnak
Túl sok klasszikus kérdés van a Stackoverflow-on, és megtanulhatjuk, hogyan tegyünk fel kérdéseket és kommunikáljunk a válaszadókkal. Ha hozzászoksz a stackoverflow-on olvasott kérdésekhez, tudattalanul utánozod őket, így elkerülöd az agyatlan kérdéseket. Íme néhány legfontosabb kérdés, amire érdemes figyelni kérdések során:
Tegyél fel egy kérdést, amire a keresőmotor nem ad kielégítő választ (a Google legalább négy oldal régi).
Tegyél fel olyan kérdéseket, amiket egyedül nem tudsz megoldani, és sokat próbálkoztál már
Próbáld meg a problémát a lehető legvilágosabban leírni: jó tipográfia, kód, hibapromptok, képek stb
Tedd a kérdéseidet mások számára hasznossá
Határozott válasznak kell lennie a kérdésre, és nem kell túl sok szubjektivitásnak lennie
Különböző sémák
Sokszor reméljük, hogy találunk megoldást, de a Stackoverflow-on gyakran váratlan eredmények születnek. Különböző megoldásokat láthatsz egy problémára, akár összehasonlításokat is.
Most tegyük fel, hogy szeretnéd tudni, hogyan hívj egy külső parancsot Pythonban, például ls -l, hogy kinyomd a cikket egy könyvtár alatt. Keresd meg a Google-ben a python hívó rendszer parancsot, az első pedig egy kapcsolódó kérdés a stackoverflow-on: Külső parancs hívása Pythonban. (http://stackoverflow.com/questio ... l-command-in-python) (Google Google technikai problémái, lényegében stackoverflow-hoz kapcsolódó problémák jelennek meg).
Ezután a kérdés alatt valaki összefoglalja a külső parancsok megidézésének több módját:
os.system()
os.popen()
subprocess.popen()
subprocess.call()
subprocess.run()
És minden módszert bemutatva is bevezet, kiválaszthatod azt, ami illik az alkalmazási helyzetedhez. Egy másik példa a kérdés: Hogyan lehet ellenőrizni, létezik-e fájl Python segítségével? (http://stackoverflow.com/questio ... exists-using-python), amely különböző Python-módszereket ír le a fájl jelenlétének ellenőrzésére.
Eszközök használata
Számos hatékony eszköz segíthet jobban feldolgozni a problémákat: lehet, hogy ismered a gdb hibakeresési eszközt, lehet, hogy ismered a python timeit monitoring modulját, de nem ismered azokat az eszközöket, amiket nem ismersz. Sokszor, amikor először ismerünk egy eszközt, az az érzésünk lesz, hogy túl későn találkozunk. Viszont azok az eszközök, amiket szeretsz, mindig nagyon nehezen elérhetők.
A Stackoverflow-on minden kérdés válaszában vagy hozzászólásában lehetnek jó eszközök, és mindig lesz esélyed megtalálni a legjobbakat, amelyek a vonalak mögött maradtak.
Íme néhány nagyszerű eszköz, amit találtam:
Truss/Strace: Követi a rendszerhívásokat és a befogadott jeleket Amikor egy folyamatot végrehajtanak, a Strace nyomon tudja követni a folyamat által generált rendszerhívásokat, beleértve a paramétereket, a visszatérési értékeket és a végrehajtási időt. (Kérdés: Miért lassabb a stdin sorok olvasása C++-ban, mint Pythonban?)
vprof: Egy vizuális eszköz, amely elemzi a Python programok jellemzőit, mint például a futásidőt, memóriahasználatot stb. (A kérdésből: Hogyan lehet profilt készíteni egy Python-t?)
Regex 101: Egy online reguláris kifejezés-asszisztens, amely segíthet megérteni a reguláris kifejezések jelentését, hibáztatni a reguláris kifejezéseket, és egyszerű kísérleteket végezni. (Szám: A reguláris kifejezések tanulása)
Íme egy egyszerű példa a Regex 101-re:

A gondolkodás folyamata
Sokszor, amikor problémába ütközünk, nincs módunk elindulni, és nem tudjuk, merre gondolkodjunk. De a stackoverflow-val könnyen megtalálhatjuk a konkrét megoldást, és néha még azt is tudjuk, mások mit gondolnak ezzel a problémával szemben.
Tegyük fel, hogy egy dekorátort szeretnél használni egy feladat elvégzéséhez, hozzáadva a "say függvény" által visszaadott string előtt és után, és így határozod meg a say kifejezést.
@makebold
@makeitalic
def say():
return"Hello"
Minden hívás után Hello válaszol. De a makebold és a makeitalic megvalósítása problémás. A Stackoverflow-on vannak nagy bikák, akik közvetlenül megmondják a választ, és linket adnak a dekorátorok dokumentációjához. De vannak Danielsek is, akik részletesen elmesélik a gondolkodásmódjukról és a dekorátorokról alkotott megértésüket, hogy mélyebben megérthesd a dekorátor mechanizmusát.
A fenti kérdésre válaszolva több mint 3000 lájkot kapott válasz, amely lépésről lépésre megmutatja, hogyan oldhatja meg a problémát. Először is, meséld el a python függvényeinek jellemzőit:
A függvények objektumok
Egy függvény egy változóhoz rendelhető
Egy függvény definiálható egy másik függvényben
Egy függvény visszaadhat egy másik függvényt
Paraméterként is átadhatsz függvényeket
Ezután kezdjük el elmagyarázni, mi az a dekorátor: valójában egy kapszulátor, amely lehetővé teszi, hogy más kódokat is végrehajtsunk az eredeti funkció végrehajtása előtt és után, anélkül, hogy módosítanánk. Egy egyszerű dekorátor prototípust kézzel valósítanak meg, majd bevezetik a dekorátor szintaxis Pythonban. Végül felsorolunk néhány fejlett dekorátori felhasználást, beleértve a paraméterek átadását a dekorátoroknak. Olvasd el az egész választ, biztosan mélyebben megérted a dekorátort, és ismered a gondolkodási folyamatot, hogyan érted meg a dekorátort. Így, ha ezt a gondolati utat követed, te magad is kitalálhatod, hogyan kell használni a dekorátorokat.
Lehetséges vakfoltok
Ha nincs kérdésed, időnként felnézheted a stackoverflow-t, böngészhetsz néhány kérdést, ahol több szavazat van, és megnézheted, mikre válaszoltak mások. Ebben a hatalmas tudásbázisban valószínűleg megtalálod néhány kognitív vakfoltodat, és olyan tartalmakat fedezel fel, amelyekre még sosem figyeltél.
Találtam néhány érdekes kérdést, például:
Nyomtatás terminálban színekkel Python segítségével?
Mi az a metaosztály a Pythonban?
Mi a leghatékonyabb rövidebb út a Vim-mel?
Összeállítottam itt egy listát a kiváló minőségű Python kérdésekről, hogy gyakran használhassak.
Sajnálom, hogy túl későn találkoztunk
Szóval hogyan találjuk meg a StackOverflow-t, két javaslat:
Pontosan írd le a problémát angolul
Keressük a Google-ben
Amíg nem te vagy az első, aki technikai problémába ütközik, valószínűleg ugyanazt vagy hasonló problémát találod a StackOverflow-on. Találkozz hamarosan, szeress bele korán a Stackoverflow-ba, és rájössz, milyen kényelmes az élet.





Előző:A Windows kötött kapcsolati VPN módosítja az útvonali táblát
Következő:node.js moduláris interfész
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com