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

    В номинации:
    За время:
  2. Куча / Говнокод #6175

    +113

    1. 1
    Говнокод поломался. Гуесты теперь везде.

    Vasiliy, 01 Апреля 2011

    Комментарии (12)
  3. PHP / Говнокод #6100

    +149

    1. 1
    $txt['aeva_gallery'] = isset($txt['aeva_gallery']) ? $txt['aeva_gallery'] : 'Media';

    Кусочек языкового файла модуля медиагалереи

    prodigy, 27 Марта 2011

    Комментарии (12)
  4. bash / Говнокод #6070

    −126

    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
    #!/bin/bash
    
    sed -e 's/й/y/g' -i $1
    sed -e 's/ц/c/g' -i $1
    sed -e 's/у/u/g' -i $1
    sed -e 's/к/k/g' -i $1
    sed -e 's/е/e/g' -i $1
    sed -e 's/н/n/g' -i $1
    sed -e 's/г/g/g' -i $1
    sed -e 's/ш/sh/g' -i $1
    sed -e 's/щ/sch/g' -i $1
    sed -e 's/з/z/g' -i $1
    sed -e 's/х/h/g' -i $1
    sed -e 's/ф/f/g' -i $1
    sed -e 's/ы/i/g' -i $1
    sed -e 's/в/v/g' -i $1
    sed -e 's/а/a/g' -i $1
    sed -e 's/п/p/g' -i $1
    sed -e 's/р/r/g' -i $1
    sed -e 's/о/o/g' -i $1
    sed -e 's/л/l/g' -i $1
    sed -e 's/д/d/g' -i $1
    sed -e 's/ж/j/g' -i $1
    sed -e 's/э/e/g' -i $1
    sed -e 's/я/ya/g' -i $1
    sed -e 's/ч/ch/g' -i $1
    sed -e 's/с/s/g' -i $1
    sed -e 's/м/m/g' -i $1
    sed -e 's/и/i/g' -i $1
    sed -e 's/т/t/g' -i $1
    sed -e 's/б/b/g' -i $1
    sed -e 's/ю/yu/g' -i $1

    Перевод в английские буквы

    AliceGoth, 23 Марта 2011

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

    +134

    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
    /// <summary>
            /// попытка парсинга потока в bool {true,false,1,0} поддерживатеся любой регистр 
            /// </summary>
            /// <param name="lpwcstr">указатель текущую позицию потока</param>
            /// <param name="result">результат</param>
            /// <returns>см. ParseSucces</returns>
            static public ParseSuccess TryParse(ref char* lpwcstr, out bool result)
            {
                char* cur = lpwcstr;
            to_begin:
                switch (*cur++)
                {
                    case ' ':
                    case '\t':
                    case '\n':
                    case '\r':goto to_begin;
                    case '0': lpwcstr = cur; goto to_fail;
                    case '1': lpwcstr = cur; result = true; return ParseSuccess.Success;
                    case 't':
                    case 'T':
                        switch (*cur++)
                        {
                            case 'r':
                            case 'R': switch (*cur++)
                                {
                                    case 'u':
                                    case 'U': switch (*cur++)
                                        {
                                            case 'e':
                                            case 'E': lpwcstr = cur; result = true; return ParseSuccess.Success;
                                            default: result = false; return (ParseSuccess)(lpwcstr - cur + 1);
                                        }
                                    default: goto to_fail;
                                }
                            default: goto to_fail;
                        }
                    case 'f':
                    case 'F': switch (*cur++)
                        {
                            case 'a':
                            case 'A': switch (*cur++)
                                {
                                    case 'l':
                                    case 'L': switch (*cur++)
                                        {
                                            case 's':
                                            case 'S': switch (*cur++)
                                                {
                                                    case 'e':
                                                    case 'E': lpwcstr = cur; result = false; return ParseSuccess.Success;
                                                    default: goto to_fail;
                                                }
                                            default: goto to_fail;
                                        }
                                    default: goto to_fail;
                                }
                            default: goto to_fail;
                        }
                    default: goto to_fail;
                }
            to_fail:
                result = false; 
                return (ParseSuccess)(lpwcstr - cur + 1);
            }

    FMB, 23 Марта 2011

    Комментарии (12)
  6. C# / Говнокод #6009

    +128

    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
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                int x = Convert.ToInt32(comboBox1.Text);
                switch (x)
                {
                    case  2: textBox1.Visible=true;
                        textBox2.Visible = true;
                        textBox3.Visible = false;
                        textBox4.Visible = false;
                        textBox5.Visible = false;
                        textBox6.Visible = false;
                        textBox7.Visible = false;
                        textBox8.Visible = false;
                        textBox9.Visible = false;
                        textBox10.Visible = false;
                        break;
                    case 3:
                        textBox1.Visible = true;
                        textBox2.Visible = true;
                        textBox3.Visible = true;
                        textBox4.Visible = false;
                        textBox5.Visible = false;
                        textBox6.Visible = false;
                        textBox7.Visible = false;
                        textBox8.Visible = false;
                        textBox9.Visible = false;
                        textBox10.Visible = false;
                        break;
    
    //и так до 10
    //...
    
            private void button1_Click(object sender, EventArgs e)
            {
                double p1 = 1 / Convert.ToDouble(textBox1.Text);
                double p2 = 1 / Convert.ToDouble(textBox2.Text);
                double p3 = 1 / Convert.ToDouble(textBox3.Text);
                double p4 = 1 / Convert.ToDouble(textBox4.Text);
                double p5 = 1 / Convert.ToDouble(textBox5.Text);
                double p6 = 1 / Convert.ToDouble(textBox6.Text);
                double p7 = 1 / Convert.ToDouble(textBox7.Text);
                double p8 = 1 / Convert.ToDouble(textBox8.Text);
                double p9 = 1 / Convert.ToDouble(textBox9.Text);
                double p10 = 1 / Convert.ToDouble(textBox10.Text);
                double inv;
                
                
                int x = Convert.ToInt32(comboBox1.Text);
                switch (x)
                {
                    case 2:
                        inv=(1/p1+1/p2);
                        break;
                    case 3:
                        inv = ((1 / p1) + (1 / p2)+(1/p3));
                        break;
                    case 4:
                        inv = ((1 / p1) + (1 / p2) + (1 / p3)+(1/p4));
                        break;
                    case 5:
                        inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4)+(1/p5));
                        break;
                    case 6:
                        inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5)+(1/p6));
                        break;
                    case 7:
                        inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5) + (1 / p6) + (1 / p7));
                        break;
                    case 8:
                        inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5) + (1 / p6) + (1 / p7) + (1 / p8));
                        break;
                    case 9:
                        inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5) + (1 / p6) + (1 / p7) + (1 / p8) + (1 / p9));
                        break;
                    case 10:
                        inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5) + (1 / p6) + (1 / p7) + (1 / p8) + (1 / p9) + (1 / p10));
                        break;
     
                        double rez = 1 / inv;
                        textBox11.Text = Convert.ToString(rez);
                }
            }

    FMB, 16 Марта 2011

    Комментарии (12)
  7. Java / Говнокод #6007

    +75

    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
    private void configComponents(/* params */) throws MyException {
    	String err_msg = null;
    	try {
    		// some code here...
    		return;
    	} catch (ComponentConfigurationException e) {
    		err_msg = e.getMessage();
    	} catch (MyException e) {
    		err_msg = e.getMessage();
    	} catch (Exception e) {
    		err_msg = setupProcessErrorMessage;
    	}
    	throw new MyException(err_msg);
    }

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

    mdcool, 16 Марта 2011

    Комментарии (12)
  8. PHP / Говнокод #5918

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    foreach ($_REQUEST as $key => $value)
    		{
    			if (substr($key, 0, strlen("ORDER_PROP_"))=="ORDER_PROP_")
    				$arPropValsTmp[$key] = htmlspecialchars($value);
    		}

    Забавная проверка.. Из битрикса.

    revis0r, 07 Марта 2011

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function &_extract(&$array, $path) {
      $element = &$array;
      while(count($path)) {
        $key = array_shift($path);
        $element = &$element[$key];
      }
    
      return $element;
    }

    vectoroc, 05 Марта 2011

    Комментарии (12)
  10. Pascal / Говнокод #5829

    +96

    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
    procedure TForm1.RegHttpRedirect(Sender: TObject; var dest: String;
      var NumRedirect: Integer; var Handled: Boolean;
      var VMethod: TIdHTTPMethod);
    begin
    Log('Redirect № ' + IntToStr(NumRedirect)+ ' - '+ Dest ,  true, MainClr);
    end;
    
    procedure TForm1.HTTPCoreStatus(ASender: TObject; const AStatus: TIdStatus;
      const AStatusText: String);
    begin
    Log('Статус: '+ AStatusText, true, MainClr);
    end;
    
    {procedure TForm1.RegHttpW0rk(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCount: Integer);
    begin
    
    end;}

    лошарский код

    megaruliz, 28 Февраля 2011

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

    +147

    1. 1
    2. 2
    3. 3
    if ($result and mysql_num_rows($result) > 0) {
       /*здесь код*/
    }

    бля..... ну это же php...

    Sulik78, 28 Февраля 2011

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