Daily Bug — rask klaidą tikrame kode
Kasdien vienas tikro kodo fragmentas su lygiai viena klaida. Spustelėkite eilutę, kuri atrodo klaidinga: penki bandymai, be registracijos, rezultatu galima dalintis.
Vienoje iš šių eilučių yra klaida. Kurioje?
Įkeliama šiandienos klaida…
Kaip tai veikia
Kasdien gaunate trumpą tikro kodo fragmentą — JavaScript, Python, Go, SQL, Rust ar Java — su lygiai viena tikra klaida: jis grąžina neteisingą rezultatą, nulūžta arba tyliai sugadina duomenis. Tai ne stiliaus priekabė. Spustelėkite eilutę, kuri atrodo klaidinga; turite penkis bandymus, ir kiekvienas pasako, ar pataikėte į klaidą, ar į reikiamą bloką, ar pro šalį. Visi pasaulyje tą pačią dieną gauna tą patį fragmentą, o rezultatas, kuriuo dalijiesi, rodo, kaip sekėsi, neatskleisdamas atsakymo.
Dėlionė pramogai ir kodo peržiūros įgūdžiams. Fragmentai supaprastinti, kad tilptų ekrane; tikros klaidos retai būna taip gerai apšviestos.
Dažnai užduodami klausimai
Ar reikia mokėti kalbą?
Beveik niekada. Klaidos yra tos, kurios bendros visoms kalboms: off-by-one, pamirštas await, slankiojo kablelio palyginimas, kintama numatytoji reikšmė, užklausa be WHERE. Jei rašėte kodą bent viena kalba, daugumą atpažinsite.
Kas laikoma „klaida“?
Tai, kas keičia elgseną: neteisingas rezultatas, lūžis, duomenis gadinantis kraštinis atvejis ar saugumo spraga. Formatavimas, pavadinimai ir stilius atsakymu niekada nebūna.
Ar visi gauna tą patį fragmentą?
Taip. Jis išvedamas iš UTC datos, todėl visi tą pačią dieną mato tą patį kodą, o vidurnaktį pagal UTC atsiranda naujas. Tinklelyje tik spalvos, tad jo paskelbimas neatskleidžia eilutės.