Намунаи маъмултарини рамзи Java дар StackOverflow хато дорад

Аксҳои машҳур Намунаи рамзи Java, дар StackOverflow нашр шудааст, табдил ёфт бо хатогие, ки дар шароити муайян ба натиҷаи нодуруст оварда мерасонад. Рамзи мавриди назар соли 2010 нашр шуда буд ва зиёда аз ҳазор тавсияҳоро ҷамъ овардааст ва инчунин нусхабардорӣ кардааст дар бисёр лоиҳаҳо ва дар анборҳои GitHub тақрибан 7 ҳазор маротиба пайдо мешавад. Қобили зикр аст, ки хато на аз ҷониби корбарон, ки ин кодро ба лоиҳаҳои худ нусхабардорӣ мекунанд, балки аз ҷониби муаллифи аслии маслиҳат пайдо шудааст.

Рамзи мавриди назар андозаи байтро ба шакли хондашаванда табдил дод, масалан, табдил додани 110592 ба "110.6 кБ" ё "108.0 КБ". Рамз ҳамчун версияи логарифм оптимизатсияшудаи маслиҳати қаблан пешниҳодшуда пешниҳод карда шуд, ки дар он арзиш дар асоси тақсимоти пайдарпайи арзиши аслӣ дар ҳалқа ба 1018, 1015, 1012, 1019 муайян карда шуд.
106, 103 ва 100, ба шарте ки тақсимкунанда аз арзиши байти аслӣ бузургтар бошад. Аз сабаби ҳисобҳои бесарусомон дар версияи оптимизатсияшуда (пуршавии арзиши дароз), натиҷа ҳангоми коркарди рақамҳои хеле калон (экзабайт) ба воқеият мувофиқат накард.

Муаллифи панд инчунин кушиш кардааст, ки ба мушкили нусхабардории мисолхо бе истинод ба манбаъ ва бе нишон додани ичозатнома таваччУх кунад. Мувофики маълумотхои пештара тадқиқот гузарониданд 46% таҳиягарон кодро аз StackOverflow бе аттрибутӣ нусхабардорӣ карданд, 75% намедонистанд, ки код дар доираи CC BY-SA литсензия шудааст ва 67% намедонистанд, ки ин аттрибутсияро талаб мекунад.

Бо дода шудааст Тибқи таҳқиқоти дигар, нусхабардории мисолҳои код на танҳо хатари хатогиҳо дар код, балки осебпазириро низ дар бар мегирад. Масалан, пас аз таҳлили 72483 мисоли рамзи C++ дар StackOverflow, муҳаққиқон осебпазирии ҷиддиро дар 69 мисол муайян карданд (ки 0.09%), ки ба рӯйхати тавсияҳои маъмултарин дохил карда шудаанд. Пас аз таҳлили мавҷудияти ин код дар GitHub, маълум шуд, ки рамзи осебпазире, ки аз StackOverflow нусхабардорӣ шудааст, дар 2859 лоиҳа мавҷуд аст.

Манбаъ: opennet.ru

Илова Эзоҳ