1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #9788

    +154

    1. 1
    if (!empty($params[$fieldName.'_need_group']) ? true : false) $errors[$fieldName] = 2;

    Просто очень тщательная проверка, если true то true, а если false то false....

    nikll, 28 Марта 2012

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

    −86

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    - (void)refreshCursorRow
     {
         int row = [dataSource numberOfLines] - [dataSource height] + [dataSource cursorY];
    -    [self setNeedsDisplayInRect:CGRectMake(0, row *lineHeight, self.frame.size.width, lineHeight)];
    +    if (SaurikIsSad)
    +        [self setNeedsDisplay];
    +    else
    +        [self setNeedsDisplayInRect:CGRectMake(0, row *lineHeight, self.frame.size.width, lineHeight)];
     }

    В ходе гугления случайно наткнулся на этот diff-патч
    Остаётся узнать, кто такой Саурик, и почему он расстроен

    krypt, 27 Марта 2012

    Комментарии (2)
  4. PHP / Говнокод #9775

    +154

    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
    function get_domain ($url)
    {
    	preg_match("/^(http:\/\/)?([^\/]+)/i",
        $url, $matches);
    	$host = $matches[2];
    	 
    	// get last two segments of host name
    	preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
    	return $matches[0];
    }
    function get_host ($url)
    {
    	preg_match("/^(http:\/\/)?([^\/]+\.[^\/]+)\/?/i",
        $url, $matches);
    	$host = $matches[2];
    	return $host;
    }

    я ошибаюсь, или всё это можно сделать с помощью parse_url?

    roman-kashitsyn, 27 Марта 2012

    Комментарии (2)
  5. PHP / Говнокод #9701

    +156

    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
    $data = substr($data, stripos($data,"operate(") + 50);
    $a[$i][2] = substr($data, stripos($data,'<b id="performer'));
    $a[$i][2] = substr($a[$i][2], stripos($a[$i][2],">")+1);
    $a[$i][3] = substr($a[$i][2], stripos($a[$i][2],"<"));
    $a[$i][2] = substr($a[$i][2], 0, stripos($a[$i][2],"<"));
    
    $a[$i][3] = substr($a[$i][3], stripos($a[$i][3],'<span id="title'));
    $a[$i][3] = substr($a[$i][3], stripos($a[$i][3],">")+1);
    if ($a[$i][3][0] == '<') {$a[$i][3] = substr($a[$i][3], stripos($a[$i][3],">")+1);}
    $a[$i][4] = substr($a[$i][3], stripos($a[$i][3],"<"));
    $a[$i][3] = substr($a[$i][3], 0, stripos($a[$i][3],"<"));
    $a[$i][4] = substr($a[$i][4], stripos($a[$i][4],'<div class="duration">')+22);
    $a[$i][4] = substr($a[$i][4], 0, stripos($a[$i][4],"<"));
    
    
    
    }
    $l = 52;
    
    for($i = 0; $i<=$l; $i++){
    
    $a[$i][1] = substr($a[$i][1],0,stripos($a[$i][1],")"));
    $a[$i][1] = substr($a[$i][1],stripos($a[$i][1],",")+1);
    $a1 = substr($a[$i][1],0,stripos($a[$i][1],","));
    $a[$i][1] = substr($a[$i][1],stripos($a[$i][1],",")+1);
    $a2 = substr($a[$i][1],0,stripos($a[$i][1],","));
    $a[$i][1] = substr($a[$i][1],stripos($a[$i][1],",")+1);
    $a3 = substr($a[$i][1],0,stripos($a[$i][1],","));
    $a3 = substr($a3, 1 , strlen($a3)-2);
    $name = explode(' ',$a[$i][3]);
    $name = $name[0].' '.$name[1].' '.$name[2];

    Человек совсем не знает регулярок...

    udi, 18 Марта 2012

    Комментарии (2)
  6. Java / Говнокод #9664

    +74

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private int getDSR(ViolationCache violation){
        int dsr = 0;
        for (StandardViolationCache standardViolation : violation.getStandardViolations()) {    	
            dsr = Integer.valueOf(standardViolation.getOrigPointAssignment()) > dsr ? Integer.valueOf(standardViolation.getOrigPointAssignment()) : dsr;
        }
        return dsr;
    }

    Изящненько...

    roman-kashitsyn, 13 Марта 2012

    Комментарии (2)
  7. Си / Говнокод #9660

    +127

    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
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    typedef struct _xjmp_stru {
        unsigned long Ebp;
        unsigned long Ebx;
        unsigned long Edi;
        unsigned long Esi;
        unsigned long Esp;
        unsigned long Eip;
    } xjmp_stru;
    
    typedef int xjmp_buf[6];
    
    __declspec(naked)
    int __cdecl xsetjmp(xjmp_buf)
    {
    	__asm
    	{
    		mov     edx, [esp+4]
    		mov     [edx], ebp
    		mov     [edx+4], ebx
    		mov     [edx+8], edi
    		mov     [edx+12], esi
    		mov     [edx+16], esp
    		mov     eax, [esp]
    		mov     [edx+20], eax
    		xor     eax, eax
    		ret
    	}
    } 
    
    
    __declspec(naked, noreturn)
    void __cdecl xlongjmp(xjmp_buf, int)
    {
    	__asm
    	{
    		mov     edx, [esp+4]
    		mov     ebp, [edx]
    		mov     ebx, [edx+4]
    		mov     edi, [edx+8]
    		mov     esi, [edx+12]
    		mov     eax, [esp+8]
    		test    eax, eax
    		jne     __
    		inc     eax
    __:      
    		mov     esp, [edx+16]
    		add     esp, 4
    		mov     edx, [edx+20]
    		jmp     edx
    	}
    } 
    
    int dummy(xjmp_buf jbuf)
    {
    	volatile int jk = 8;
    	if (jk)
    		xlongjmp(jbuf, 2);
    	else
    		return 7;
    }
    
    int main()
    {
    	xjmp_buf jbuf;
    	if (xsetjmp(jbuf))
    	{
    		puts("excpt");
    		return -1;
    	}
    	dummy(jbuf);
    	puts("great work");
    	return 0;
    }

    экая хренотень

    63F45EF45RB65R6VR, 13 Марта 2012

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

    +116

    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
    private void label1_Click(object sender, EventArgs e)
            {
                MessageBox.Show("Данная программа вычисляет\nнаибольший общий делитель.");
            }
    
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
    
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                if (Convert.ToInt32(textBox1.Text) >= Convert.ToInt32(textBox2.Text))
                {
                    for (int i = Convert.ToInt32(textBox1.Text); i > 0; i--)
                    {
                        if (Convert.ToInt32(textBox1.Text) % i == 0)
                        {
                            if (Convert.ToInt32(textBox2.Text) % i == 0)
                            {
                                label2.Text = "НОД = " + Convert.ToString(i);
                                break;
                            }
                        }
                    }
                }
                else
                    for (int i = Convert.ToInt32(textBox2.Text); i > 0; i--)
                    {
                        if (Convert.ToInt32(textBox2.Text) % i == 0)
                        {
                            if (Convert.ToInt32(textBox1.Text) % i == 0)
                            {
                                label2.Text = "НОД = " + Convert.ToString(i);
                                break;
                            }
                        }
                    }
            }

    Программа с одного форума

    P4R4, 12 Марта 2012

    Комментарии (2)
  9. PHP / Говнокод #9653

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $uri = $_SERVER["REQUEST_URI"];
    
    // получаем урл и выбираем id
    preg_match('![?|&]p=(.*)$!',$uri,$r);
    @$_GET['p'] = $r[1];

    DarkThinker, 12 Марта 2012

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

    −142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Если РучнойВводОтработанногоВремени И СТЧ.ОтработаноДней = 0 И СТЧ.ОтработаноЧасов = 0 Тогда 
    	Если СТЧ.ОтработаноДней = 0 И СТЧ.ОтработаноЧасов = 0 Тогда 
    			СТЧ.ОтработаноДней  = НачислениеИзРегистрыРасчета.ОтработаноДней;
    			СТЧ.ОтработаноЧасов = НачислениеИзРегистрыРасчета.ОтработаноЧасов;
    	КонецЕсли;	
    КонецЕсли;

    Бонд, Джеймс Бонд.

    Если СТЧ.ОтработаноДней = 0 И СТЧ.ОтработаноЧасов = 0 Тогда
    Если СТЧ.ОтработаноДней = 0 И СТЧ.ОтработаноЧасов = 0 Тогда

    Jivchic, 12 Марта 2012

    Комментарии (2)
  11. PHP / Говнокод #9629

    +169

    1. 1
    2. 2
    $str = str_replace("|", "I", $str);
    $str = str_replace("||", "I", $str);

    нет, ну, а мало ли.

    TBoolean, 08 Марта 2012

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