See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 8677|Vastuse: 0

Miks sa ei saa Stackoverflow'st loobuda?

[Kopeeri link]
Postitatud 04.10.2016 09:30:55 | | | |
Programmeerijana, kui sa pole Stackoverflow'st kuulnud, siis mõtle selle üle. Üks programmeerimisraamatuid, mida programmeerijad kõige rohkem lugema peavad (tegelikult piisab sellest, kui jätta see programmeerimisraamatutele!). ):

(Avaleht, mille Jun tugevalt lisas, ülalolev pilt on paroodiapilt, mõned netikasutajad ei saanud sellest varem aru, eriti et seda öelda)
Neile programmeerijatele, kes pole raamatut veel lugenud, on aeg see osta. Kui oled endiselt kõhklev, vaata seda artiklit, miks sa ei saa StackOverflow'ta hakkama.
Küsimuste esitamise tarkus
Kui esitad tehnilise küsimuse, sõltub kasulik vastus sageli sellest, kuidas sa küsid ja järgid. —— Eric S. Raymond
Mõnikord ei ole probleemi, eriti tehnilise, selge kirjeldus nii lihtne, kui tundub. Küsimuste esitamine on alati olnud teadus, kuid kahjuks paljud inimesed ei saa sellest aru või ei pööra sellele piisavalt tähelepanu. Või mõned küsijad ei küsi üldse abi. Seega leiame igasuguseid küsimusi, millele inimesed ei suuda vastata või ei taha vastata:
Java regex probleem?
Mis on SLA reageerimisaeg?
Mis on ATL-klassidel ja üldisel klassi pärimisel?
Et vältida ülaltoodud probleemi sulgemist või muutumist, pane siia pilt, et seda jama probleemi kogeda:

Selliseid küsimusi leiab hulgaliselt SegmentFaulti vastamata küsimustest, nii et paljudel inimestel pole ilmselgelt tarkust ega suhtumist küsimusi esitada. Raymond ja Rick Moen kirjutasid klassikalise essee küsimuste esitamisest "The Smart Way" (http://www.catb.org/~esr/faqs/smart-questions.html#translations), mis on tõlgitud mitmetesse keeltesse ja on laialdaselt levitatud ning mille hiina väljaanne on leitav siit. Stackoverflow ja Segmentfalut pakuvad samuti soovitusi küsimuste esitamiseks:
Abikeskus > küsimine
Kuidas küsida
Kuidas ma peaksin head küsimust esitama?
Millised küsimused on teretulnud
Stackoverflow's on liiga palju klassikalisi küsimusi ja me saame õppida küsimusi esitama ja vastajatega suhtlema. Kui harjud stackoverflow's küsimusi lugema, jäljendad neid alateadlikult küsimusi esitades, vältides seeläbi ajutuid küsimusi. Siin on mõned kõige olulisemad küsimused, millele küsimusi esitades tähelepanu pöörata:
Esita küsimus, millele otsingumootor ei anna rahuldavat vastust (Google on vähemalt neli lehekülge vana).
Esita küsimusi, mida sa ise lahendada ei suuda ja mida oled palju proovinud
Püüa probleemi võimalikult selgelt kirjeldada: hea tüpograafia, kood, veateated, pildid jne
Muuda oma küsimused teistele kasulikuks
Küsimusele peaks olema kindel vastus ja subjektiivsust ei tohiks olla liiga palju
Erinevad skeemid
Paljudel kordadel loodame lahendust leida, kuid Stackoverflow's on sageli ootamatuid edusamme. Võid näha erinevaid lahendusi probleemile, sealhulgas isegi nende lahenduste võrdlusi.
Oletame nüüd, et tahad teada, kuidas kutsuda Pythonis väliskäsku, näiteks ls -l, et printida artikkel kataloogi alla. Otsi Google'ist python call system käsk ja esimene on seotud küsimus stackoverflow's: välise käsu kutsumine Pythonis. (http://stackoverflow.com/questio ... l-command-in-python) (Google'i tehnilised probleemid, põhimõtteliselt kuvatakse stackoverflow'ga seotud probleemid).
Selle küsimuse all võtab keegi kokku mitu viisi väliste käskude kutsumiseks:
os.system()
os.popen()
subprocess.popen()
subprocess.call()
subprocess.run()
Ja iga meetod tutvustatakse ka, saad valida meetodi, mis sobib sinu rakenduse stsenaariumiga. Teine näide on küsimus: Kuidas kontrollida, kas fail eksisteerib Pythoniga? (http://stackoverflow.com/questio ... exists-using-python), mis kirjeldab erinevaid meetodeid Pythonis faili olemasolu kontrollimiseks.
Tööriistade kasutamine
On palju võimsaid tööriistu, mis aitavad meil paremini probleeme uurida – sa võid teada GDB silumistööriista, tead Pythoni Timeit Monitoring moodulit, aga sa ei tea tööriistu, mida sa ei tea. Paljudel kordadel, kui me esimest korda tööriista tunneme, tundub, et kohtume liiga hilja. Kuid tööriistad, mis sulle meeldivad, on alati nii raskesti kättesaadavad.
Stackoverflow's võib igas küsimuse vastuses või kommentaaris olla häid tööriistu ning sul on alati võimalus leida parimad, mis on ridade taha jäänud.
Siin on nimekiri mõnest suurepärasest tööriistast, mida leidsin:
Truss/Strace: Jälgib süsteemikõnesid ja vastuvõetud signaale protsessi käivitamisel, Strace suudab jälgida protsessi poolt genereeritud süsteemikõnesid, sealhulgas parameetreid, tagastusväärtusi ja täitmisaega. (Küsimusest: Miks on stdin ridade lugemine C++-s palju aeglasem kui Python?)
vprof: Visuaalne tööriist, mis analüüsib Python'i programmide omadusi, nagu käitusaeg, mälukasutus jne. (Küsimusest: Kuidas saab Pythonit profiilida?)
Regex 101: Veebipõhine regulaaravaldise assistent, mis aitab sul mõista regulaaravaldiste tähendust, siluda regulaaravaldisi ja teha lihtsaid katseid. (Numbrist: Regulaarsete avaldiste õppimine)
Siin on lihtne näide regex 101-st:

Mõtlemisprotsess
Paljudel kordadel, kui satume probleemi ette, pole meil võimalust alustada ega tea, kuhu mõelda. Kuid stackoverflow'ga saame hõlpsasti leida konkreetse lahenduse ja mõnikord isegi teada, mida teised selle probleemiga silmitsi seistes arvavad.
Oletame, et soovid kasutada dekoraatorit ülesande täitmiseks, lisades enne ja pärast allpool oleva say funktsiooni tagastatud stringi, ning mõtled näiteks defineerimisele nii.
@makebold
@makeitalic
def say():
tagasi"Tere"
Iga kõne vastab "Tere". Aga makeboldi ja makeitalic'i rakendamine on probleem. Stackoverflow's on suured härjad, kes ütlevad sulle vastuse otse ja annavad sulle lingi dekoraatorite dokumentatsioonile. Aga on ka Daniels, kes räägib sulle üksikasjalikult oma mõtlemisprotsessist ja arusaamast dekoraatoritest, et saaksid sügavalt mõista dekoraatori mehhanismi.
Ülaltoodud küsimusele vastates on vastus, mis on saanud üle 3000 meeldimise, õpetades, kuidas probleemi samm-sammult lahendada. Esiteks, räägi meile, millised on pythoni funktsioonide omadused:
Funktsioonid on objektid
Funktsioonile saab määrata muutujale
Funktsiooni saab defineerida teises funktsioonis
Üks funktsioon võib tagastada teise funktsiooni
Funktsioone saab parameetritena edasi anda
Seejärel hakka selgitama, mis on dekoraator: see on tegelikult kapseldaja, mis võimaldab meil käivitada teist koodi enne ja pärast algse funktsiooni täitmist ilma seda muutmata. Lihtne dekoraatori prototüüp on käsitsi teostatud, millele järgneb dekoraatori süntaksi kasutuselevõtt Pythonis. Lõpuks on loetletud mõned dekoraatorite keerukad kasutusviisid, sealhulgas parameetrite edastamine dekoraatoritele. Loe kogu vastus läbi, sul on kindlasti sügavam arusaam sisekujundajast ja tead, kuidas kujundajat mõista. Nii saad ise otsustada, kuidas dekoraatoreid kasutada.
Võimalikud pimedad kohad
Kui sul pole küsimusi, võid aeg-ajalt külastada Stackoverflow'd, sirvida mõningaid küsimusi, kus on rohkem hääli, ja vaadata, mida teised on vastanud. Selles ulatuslikus teadmistepagas leiad tõenäoliselt mõned oma kognitiivsed pimedad kohad ja leiad sisu, millele sa pole kunagi tähelepanu pööranud.
Leidsin mõned huvitavad küsimused, näiteks:
Printimine terminalis värvidega Pythoniga?
Mis on metaklass Pythonis?
Mis on sinu kõige produktiivsem otsetee Vimiga?
Olen siin koostanud nimekirja kvaliteetsetest Python küsimustest, mida sagedaseks kasutamiseks.
Kahetsen, et kohtusime liiga hilja
Kuidas leida StackOverflow, kaks soovitust:
Kirjelda probleemi täpselt inglise keeles
Googelda
Kui sa pole esimene, kes tehnilise probleemiga kokku puutub, leiad tõenäoliselt sama või sarnase probleemi StackOverflow's. Kohtu varsti, armu Stackoverflow'sse varakult ja sa avastad, et elu on nii mugav.





Eelmine:Windowsi partiiühenduse VPN muudab marsruutimistabelit
Järgmine:node.js modulaarne liides
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com