1. Java / Говнокод #12824

    +118

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    private boolean isStoreBlocked(final CustomerRef customerRef) {
    	if (customerRef == null || !customerRef.isValid()) {
    		// Presumption of innocence
    		return false;
    	}
    	
    	return blockLogRepo.isBlocked(customerRef);
    }

    someone, 29 Марта 2013

    Комментарии (0)
  2. Objective C / Говнокод #12823

    −99

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    - (CGPoint)itemTopLeftPoint
    {
        CGRect bounds = CGRectMake(0,0, 100, 100);// [[UIScreen mainScreen] bounds];
        CGFloat width = bounds.size.width;
        
        if (UIInterfaceOrientationIsLandscape(self.interfaceOrientation)) {
            width = bounds.size.height;
        }
        
        CGFloat x = 0, y = 0;
        
        x = (width - (self.numberOfItemsPerRow * AGIPC_ITEM_SIZE.width)) / (self.numberOfItemsPerRow + 1);
        y = x;
        return CGPointMake(x, y);
    }

    Приспичило мне тут показать кастомный контроллер в модальном окне. А он вместо контента показывает чушь, расчитанную под другую ширину.
    Обнаружено в ходе раскопок.

    krypt, 29 Марта 2013

    Комментарии (6)
  3. Си / Говнокод #12822

    +140

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    static inline uint64_t parse_hex_uint64(const char *s) {
        const uint64_t m1 = 0x4040404040404040ll;
        const uint64_t m2 = 0x000F000F000F000Fll;
        const uint64_t m3 = 0x0F000F000F000F00ll;
        const uint64_t *p = (const uint64_t*)s;
        int64_t a = p[0], b = p[1];
        a += ((a & m1) >> 6) * 9;
        b += ((b & m1) >> 6) * 9;
        a = (a & m2) << 12 | (a & m3);
        b = (b & m2) << 12 | (b & m3);
        a |= a >> 24;
        b = b >> 8 | b << 16;
        return (a & 0x0000FFFF00000000ll) | (a & 0xFFFF) << 48 | b >> 48 | (b & 0xFFFF0000);
    }

    По мотивам http://govnokod.ru/12800#comment173346.

    Байтоёбский парсинг шестнадцатеричного числа. Версия для 64 битного проца.

    https://ideone.com/IFG0fH

    bormand, 29 Марта 2013

    Комментарии (124)
  4. Java / Говнокод #12821

    +67

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    System.out.println(randomString(-229985452) + " " + randomString(-147909649));
    
    Функция randomString() реализуется примерно вот так:
    public static String randomString(int i)
    {
        Random ran = new Random(i);
        StringBuilder sb = new StringBuilder();
        for (int n = 0; ; n++)
        {
            int k = ran.nextInt(27);
            if (k == 0)
                break;
    
            sb.append((char)('`' + k));
        }
    
        return sb.toString();
    }

    Оригинальный hello world на java

    tsovak, 28 Марта 2013

    Комментарии (4)
  5. C++ / Говнокод #12820

    +11

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    void Bitmap::flipRB()
    {
    	int nBytes = w*h;
    	void *d = data;
    	__asm
    	{
    		mov edx, 0;
    pixloop:	mov eax, d;
    		mov eax, [eax];
    		mov ebx, edx;
    		shl ebx, 0x2;
    		add eax, ebx;
    		mov ebx, [eax];
    		
    		and ebx, 0xFFFFFF;
    		mov ecx, ebx;
    		shr ebx, 0x10;
    		shl ecx, 0x10;
    		or ebx, ecx;
    		shr ecx, 0x10;
    		and ecx, 0xFF00;
    		or ebx, ecx;
    		and ebx, 0xFFFFFF;
    		or ebx, 0xFF000000;
    		
    		mov [eax], ebx;
    		inc edx;
    		cmp edx, nBytes;
    		jne pixloop;
    	}
    }

    Откопал очередной свой велосипедный класс, в нем попался такой вот метод для конвертирования цветов ARGB в ABGR.

    just_nameless, 28 Марта 2013

    Комментарии (10)
  6. PHP / Говнокод #12819

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?php
    $g = $_GET;
    unset($g["search"], $g["sortby"], $g["time"], $g["page"]);
    $q_str = $_SERVER["SERVER_NAME"].$_SERVER["PHP_SELF"]."?".http_build_query($g);
    ?>
    <script type="text/javascript">
    		!function ($) {
    			$(document).ready(function () {
    		$("#search").keyup(function(e){
    				$("#search-button").attr("href", "//<?=$q_str?>" + "&search=" + $(this).val());
    				});
            }(window.jQuery);

    varg242, 28 Марта 2013

    Комментарии (0)
  7. SQL / Говнокод #12818

    −167

    1. 1
    2. 2
    3. 3
    update sometable
    set value2=convert(char(100),   @int_variable+convert(int,value2))
    where  someconditions

    В цикле колбасится, упростил для понимания.
    Мне кажется эту штуку изначально проектировал человек, который работал с bash и sqlite, а потом оппа, и нет слабой типизации.

    bliznezz, 28 Марта 2013

    Комментарии (3)
  8. JavaScript / Говнокод #12817

    +151

    1. 1
    if (Scene.generatedFast || (typeof generatedFast != "undefined" && generatedFast) )

    Lure Of Chaos, 28 Марта 2013

    Комментарии (1)
  9. C# / Говнокод #12816

    +130

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Открытие в проводнике подпапки "logs" основной папки приложения при нажатии кнопки на панели инструментов:
    1) получение с сервера строки
    "{(new ShellClass()).Open(System.IO.Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + "\\logs");}"
    2) формирование текста с полным объявлением класса, содержащего полученный выше код в методе Run
    3) компиляция этого текста в сборку с помощью CSharpCodeProvider
    4) создание экземпляра класс и выполнение метода Run

    Доигрались... Проснулся пятилапый пес "Пиздец" и наступил.

    grobotron, 28 Марта 2013

    Комментарии (9)
  10. C++ / Говнокод #12815

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    #include <cstdlib>
    #include <iostream>
    #include <time.h>
    
    using namespace std;
    
    const int n=20;
    int mass[20];
    
    void massiv(int x[])
    {
    srand(time(NULL));
    for(int i=0;i<20;i++) mass[i]=rand()%100;
    return 0;
    }
    
    void vivod(int x[])
    {
    for(int i=0;i<20;i++) cout<<mas[i]<<"\n";
    return 0;
    }
    
    
    void sort (int x[])
    {
    int i,j,b;
    for(j=1;j<=n-1;j++)
    for(i=0;i<=n-1-j;i++)
    if (mass[i]>mass[i+1])
    {
    b=mass[i];
    mass[i]=mass[i+1];
    mass[i+1]=b;
    }
    }
    return 0;
    }
    
    int main(int argc, char *argv[])
    {
        zapolneniemassiva(mass[20]);
        pokaz(mass[20]);
    	sort(mass[20]);
    	variant3(mass[20]);
    	
        system("PAUSE");
        return EXIT_SUCCESS;
    }

    Одногруппник сделал лабу на C++, программа сортирует массив по возрастанию и выводит, ну, по крайней мере, должна.

    TBoolean, 28 Марта 2013

    Комментарии (86)