Shembulli më i njohur i kodit Java në StackOverflow u zbulua me një gabim

MĂ« i njohuri shembulli i kodit Java, i botuar nĂ« StackOverflow, doli me njĂ« gabim qĂ« çon nĂ« njĂ« rezultat tĂ« gabuar nĂ«n kushte tĂ« caktuara. Kodi i shqyrtuar u vendos nĂ« vitin 2010 dhe ka grumbulluar mĂ« shumĂ« se njĂ« mijĂ« rekomandime, si dhe Ă«shtĂ« kopjuar nĂ« shumĂ« projekte dhe takohet nĂ« repo nĂ« GitHub rreth 7 mijĂ« herĂ«. ËshtĂ« e rĂ«ndĂ«sishme qĂ« gabimin nuk e gjetĂ«n pĂ«rdoruesit qĂ« kopjonin kĂ«tĂ« kod nĂ« projektet e tyre, por autori fillestar i kĂ«shillĂ«s.

Kodi i shqyrtuar realizonte konvertimin e madhësisë së byte-ve në një formë të lexueshme, për shembull 110592 e konvertonte në "110.6 kB" ose "108.0 KiB". Kodi u propozua si i optimizuar me ndihmën e logaritemeve të një varianti të mëparshëm të këshillës, në të cilin vlera përcaktohej mbi bazën e ndarjes së vazhdueshme të vlerës fillestare në një cikël me 1018, 1015, 1012, 1019,
106, 103 dhe 100, derisa ndarësi është më i madh se vlera fillestare në byte. Për shkak të llogaritjeve të pasakta në variantin e optimizuar (mbi ngarkesën e vlerës long) rezultati i punës gjatë përpunimit të numrave shumë të mëdhenj (Exabyte) nuk ishte i saktë.

Autori i këshillës gjithashtu përpiqej të tërhiqte vëmendjen në problemin e kopjimit të shembujve pa referencën në burim dhe pa treguar licencën. Sipas të dhënave të një hulumtimi të mëparshëm 46% e zhvilluesve kopjuan kodin nga StackOverflow pa treguar autorin, 75% nuk e dinin se kodi shpërndahej nën licencën CC BY-SA, dhe 67% nuk e dinin se kjo nënkuptonte nevojën për të treguar autorësinë. hulumtimin tjetër, kopjimi i shembujve të kodit është i lidhur jo vetëm me rrezikun e gabimeve në kod, por edhe me dobësi. Për shembull, duke analizuar 72483 shembuj kode në C++ në StackOverflow, studiuesit zbuluan dobësi serioze në 69 shembuj (që përbënë 0.09%) që janë në listën e rekomandimeve më të njohura. Pasi analizuan më pas praninë e këtij kodi në GitHub, u zbulua se kodi i dobët i kopjuar nga StackOverflow është pranë 2859 projekteve.

Sipas të dhënave Shembulli më i njohur i kodit Java.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster