StackOverflow-dakı ən məşhur Java kod nümunəsi səhv imiş
Code-News
06.12.2019
Emil Nəcəfov
StackOverflow-da qeyd edilmiş ən məşhur Java kod nümunəsi müəyyən şərtlərdə düzgün olmayan nəticələrə gətirib çxartmış səhv imiş. Sözügedən kod 2010-cu ildə dərc edilmiş və 1000-dən çox müsbət fikir əldə etmişdi. Bundan əlavə olaraq həmin kod bir çox layihələr kopyalanıb və ona GitHub repozitoriyalarından 7000 dəfədən çox rast gəlinir. Maraqlısı ondadır ki, koddakı səhvi öz layihələrinə həmin kodu kopyalayan istifadəçilər deyil kodun müəllifi aşkar edib. Bu barədə Opennet.ru saytı xəbər verib.
Sözügedən kod baytlıq informasiyanı oxunula bilən formaya çevirirdi. Məsələn o, 110592-ni “110.6 kB”ə və ya “108.0 KiB”ə çevirirdi. Bu kod daha öncədən təqdim edilmiş məsləhətin loqarifma vasitəsilə optimizasiya edilmiş versiyasıdır. Daha öncədən təqdim edilmiş məsləhətdə böyüklük, ixtiyari mənanın ardıcıl olaraq dövrdə 10 üstü 18, 10 üstü 15, 10 üstü 12, 10 üstü 19, 10 üstü 6, 10 üstü 3 və 10 üstü 0-a bölünməsi sayəsində təyin edilirdi. Bölünmə o vaxta kimi davam edəcək ki, bölən, baytlar üzrə ixtiyari mənadan böyük olsun.
Diqqətsiz hesablamalar səbəbilə optimizasiya edilmiş variantda böyük rəqəmlərin emal olunması zamanı iş nəticələri həqiqəti əks etdirmirdilər. Bundan əlavə olaraq nümunələrin linklərsiz kopyalanması və lisenziyaların qeyd edilməməsi problemlərinə də nəzər yetirilib. İlkin tədqiqatların nəticələrinə əsasən tərtibatçıların 46%-i bu kodu StackOverflow-dan müəllifin adının qeyd olunmaması şəklində yükləyib, 75%-i bu kodun CC BY-SA lisenziyası vasitəsilə yayılmasından xəbərsiz olub, 67%-i isə bu kodun yüklənməsi zamanı müəllifin adının qeyd olunmasının mütləq olmasından xəbərsiz olub.
Linki kopyala
Bənzər xəbərlər
Oxşar xəbərlər
Həftənin xəbərləri
CERN-də kainatın yaranması ilə bağlı yeni böyük bir kəşf edilib!
OpenAI-ın video hazırlayan süni intellekti Sora istifadəyə verilib!