Kā programmētājs, ja neesat dzirdējis par Stackoverflow, labāk padomājiet par to. Viena no programmēšanas grāmatām, kas programmētājiem ir jālasa visvairāk (patiesībā pietiek ar to, lai atstātu šo programmēšanas grāmatām!). ):
(Mājaslapa Jun stingri ievietota, iepriekš redzamais attēls ir viltus attēls, daži interneta lietotāji to iepriekš nesaprata, it īpaši, lai to pateiktu) Tiem programmētājiem, kuri vēl nav lasījuši grāmatu, ir pienācis laiks to iegādāties. Ja jūs joprojām esat uz žoga, apskatiet šo rakstu, lai uzzinātu, kāpēc jūs nevarat iztikt bez StackOverflow. Jautājumu uzdošanas gudrība Kad jūs uzdodat tehnisku jautājumu, tas, vai jūs saņemat noderīgu atbildi, bieži ir atkarīgs no tā, kā jūs jautājat un sekojat līdzi. - Ēriks S. Reimonds Dažreiz skaidrs problēmas apraksts, īpaši tehnisks, nav tik vienkāršs, kā šķiet. Jautājumu uzdošana vienmēr ir bijusi zinātne, bet diemžēl daudzi cilvēki to neapzinās vai nepievērš tam pietiekamu uzmanību. Vai arī daži jautājuma iesniedzēji vispār nelūdz palīdzību. Tātad mēs atradīsim visu veidu jautājumus, uz kuriem cilvēki nevar atbildēt vai nevēlas atbildēt: Java regex problēma? Kas ir SLA reakcijas laiks? Kāda ir atšķirība starp ATL klasēm un vispārējo klases mantojumu? Lai izvairītos no iepriekš minētās problēmas slēgšanas vai modificēšanas, ievietojiet attēlu šeit, lai piedzīvotu šo sūdu problēmu:
Jūs varat atrast virkni šo jautājumu neatbildētajos jautājumos vietnē SegmentFault, tāpēc daudziem cilvēkiem acīmredzot nav gudrības vai attieksmes, lai uzdotu jautājumus. Raimonds un Riks Moeni uzrakstīja klasisku eseju par to, kā uzdot jautājumus Gudrais ceļš (http://www.catb.org/~esr/faqs/smart-questions.html#translations), kas ir tulkots dažādās valodās un ir plaši izplatīts un atrodams ķīniešu izdevumā šeit. Stackoverflow un Segmentfalut ir arī ieteikumi jautājumu uzdošanai: Palīdzības centrs > jautāšana Kā jautāt Kā uzdot labu jautājumu? Kādi jautājumi ir laipni gaidīti Stackoverflow ir pārāk daudz klasisku jautājumu, un mēs varam iemācīties uzdot jautājumus un sazināties ar atbildētājiem. Kad jūs pieradīsiet lasīt jautājumus par stackoverflow, jūs neapzināti atdarināsiet tos, uzdodot jautājumus, tādējādi izvairoties no bezsmadzeņu jautājumu uzdošanas. Šeit ir daži no svarīgākajiem jautājumiem, kuriem jāpievērš uzmanība, uzdodot jautājumus: Uzdodiet jautājumu, uz kuru meklētājprogrammai nav apmierinošas atbildes (Google ir vismaz četras lappuses vecs). Uzdodiet jautājumus, kurus nevarat atrisināt pats un esat daudz izmēģinājis Mēģiniet aprakstīt problēmu pēc iespējas skaidrāk: laba tipogrāfija, kods, kļūdu uzvednes, attēli utt Padariet savus jautājumus noderīgus citiem Uz jautājumu jābūt noteiktai atbildei, un nevajadzētu būt pārāk lielai subjektivitātei Dažādas shēmas Daudzas reizes mēs ceram atrast risinājumu, bet Stackoverflow bieži vien ir negaidīti ieguvumi. Jūs varat redzēt dažādus problēmas risinājumus, tostarp pat šo risinājumu salīdzinājumus. Pieņemsim, ka tagad vēlaties uzzināt, kā izsaukt ārēju komandu Python, piemēram, ls -l, lai izdrukātu rakstu direktorijā. Google python zvanu sistēmas komanda, un pirmais ir saistīts jautājums par stackoverflow: Ārējās komandas izsaukšana Python. (http://stackoverflow.com/questio ... l-command-in-python) (Google tehniskās problēmas, būtībā tiks parādītas ar stackoverflow saistītas problēmas). Tad saskaņā ar šo jautājumu kāds apkopo vairākus veidus, kā izsaukt ārējās komandas: os.sistēma() os.popen() apakšprocess.popen() subprocess.zvans() apakšprocess.palaist () Un katra metode tiek ieviesta, jūs varat izvēlēties metodi, kas atbilst jūsu pielietojuma scenārijam. Vēl viens piemērs ir jautājums Kā pārbaudīt, vai fails pastāv, izmantojot Python? (http://stackoverflow.com/questio ... exists-using-python), kurā aprakstītas dažādas Python metodes, lai pārbaudītu faila klātbūtni. Instrumentu izmantošana Ir daudz spēcīgu rīku, kas var palīdzēt mums labāk izpētīt problēmas, jūs, iespējams, zināt gdb atkļūdošanas rīku, jūs varat zināt python timeit uzraudzības moduli, bet jūs nezināt rīkus, kurus nezināt. Daudzas reizes, kad mēs pirmo reizi zinām rīku, mums būs sajūta, ka tiekamies pārāk vēlu. Tomēr rīki, kas jums patīk, vienmēr ir tik grūti atrast. Stackoverflow katrā jautājuma atbildē vai komentārā var būt daži labi rīki, un jums vienmēr būs iespēja atrast labākos, kas paliek aiz līnijām. Šeit ir saraksts ar dažiem lieliskiem rīkiem, kurus es atradu: TRUSS/STRACE: izseko sistēmas zvanus un saņemtos signālus Kad process tiek izpildīts, STRACE var izsekot procesa ģenerētos sistēmas zvanus, ieskaitot parametrus, atgriešanās vērtības un izpildes laiku. (No jautājuma: Kāpēc C++ rindu lasīšana no stdin ir daudz lēnāka nekā Python?) vprof: vizuāls rīks, kas analizē Python programmu īpašības, piemēram, izpildlaiku, atmiņas lietojumu utt. (No jautājuma: Kā jūs varat profilēt Python?) Regex 101: tiešsaistes regulāro izteiksmju palīgs, kas var palīdzēt izprast regulāro izteiksmju nozīmi, atkļūdot regulārās izteiksmes un veikt vienkāršus eksperimentus. (No izdevuma: Regulāro izteiksmju apguve) Šeit ir vienkāršs Regex 101 piemērs:
Domāšanas process Daudzas reizes, kad mēs saskaramies ar problēmu, mums nav iespējas sākt un nezinām, kurā virzienā domāt. Bet ar stackoverflow mēs varam viegli uzzināt konkrēto risinājumu un dažreiz pat zināt, ko citi domā, saskaroties ar šo problēmu. Pieņemsim, ka vēlaties izmantot dekoratoru, lai izpildītu uzdevumu, pievienojot pirms un pēc virknes, ko atgriež tālāk norādītā funkcija say, un jūs domājat definēt teikšanu šādi. @makebold @makeitalic def saka(): atgriezties"Sveiki" Katrs zvans, lai pateiktu, atgriežas Sveiki. Bet kā ieviest makebold un makeitalic ir problēma. Stackoverflow ir lieli buļļi, kas jums tieši pateiks atbildi un izmetīs saiti uz dekoratoru dokumentāciju. Bet ir arī Daniels, kurš jums detalizēti pastāstīs par savu domāšanas procesu un izpratni par dekoratoriem, lai jūs varētu dziļi izprast dekoratora mehānismu. Atbildot uz iepriekš minēto jautājumu, ir atbilde, kas ir saņēmusi vairāk nekā 3,000 patīk, pasakot, kā soli pa solim atrisināt problēmu. Pirmkārt, pastāstiet mums, kādas ir python funkciju īpašības: Funkcijas ir objekti Funkciju var piešķirt mainīgajam lielumam Funkciju var definēt citā funkcijā Viena funkcija var atgriezt citu funkciju Jūs varat nodot funkcijas kā parametrus Tad sāciet skaidrot, kas ir dekorators: tas faktiski ir iekapsulators, kas ļauj mums izpildīt citu kodu pirms un pēc sākotnējās funkcijas izpildes, to nepārveidojot. Vienkāršs dekoratora prototips tiek īstenots ar rokām, kam seko dekoratora sintakses ieviešana Python. Visbeidzot, ir uzskaitīti daži uzlaboti dekoratoru lietojumi, tostarp parametru nodošana dekoratoriem. Izlasiet visu atbildi, jums noteikti būs dziļāka izpratne par dekoratoru un zināsiet dekoratora izpratnes domāšanas procesu. Tādā veidā, sekojot šim domu ceļam, jūs pats varat secināt, kā izmantot dekoratorus. Iespējamās aklās zonas Ja jums nav jautājumu, ko uzdot, varat arī laiku pa laikam apmeklēt stackoverflow, pārlūkot dažus jautājumus ar vairāk balsu un redzēt, ko citi ir atbildējuši. Šajā plašajā zināšanu bāzē jūs, visticamāk, atradīsit dažus no saviem kognitīvajiem aklajiem punktiem un atklāsiet saturu, kuram nekad neesat pievērsis uzmanību. Es atradu dažus interesantus jautājumus, piemēram: Drukāt terminālī ar krāsām, izmantojot Python? Kas ir metaklase Python? Kāds ir jūsu produktīvākais īsceļš ar Vim? Es šeit esmu izveidojis sarakstu ar augstas kvalitātes Python jautājumiem biežai atsaucei. Man žēl, ka mēs tikāmies pārāk vēlu Tātad, kā atrast StackOverflow, divi ieteikumi: Aprakstiet problēmu precīzi angļu valodā Google to Kamēr neesat pirmā persona, kas saskaras ar tehnisku problēmu, jūs, iespējams, atradīsit tādu pašu vai līdzīgu problēmu vietnē StackOverflow. Drīz satieciet, agri iemīlieties Stackoverflow, un jūs atklāsiet, ka dzīve ir tik ērta.
|