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

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

    +152

    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
    function sendForm() {
      var checksrole = document.getElementsByName("role");
      var i = 0, f = 0;
      while (f == 0 && i < checksrole.length) {
        if (checksrole[i].checked == true) {
          f = 1;
        }
        i++;
      }
      if (f == 0) {
        WindowUtils.popUpDialog("Пожалуйста, выберите роль пользователя", "WARN");
        return false;
      }
      return true;
    }

    Автор не догадывается о существовании типа boolean, о говорящих именах функций, о досрочном выходе из цикла и о возможностях используемых фреймворков (на странице использованы одновременно YUI - для вывода окна сообщения и Prototype - для отправки AJAX-запроса).

    victor-homyakov, 16 Апреля 2012

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

    +117

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    static double E( double epsilon )
    {
    	int n = 1, nf = 1;
    	double e = 0;
    	while (Math.Abs(e - Math.E) > epsilon)
    	{
    		e += 1.0 / nf;
    		nf *= n;
    		n++;
    	}
    	return e;
    }

    Вычисление числа e как суммы обратных факториалов. По мотивам реальных событий.

    Steve_Brown, 16 Апреля 2012

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

    +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
    13. 13
    14. 14
    15. 15
    <option value="0" 
    
    <?
    	if($_SESSION['ttype'] == 0){ echo "SELECTED"; }
    	echo ">Подключение\n<option value=\"0last\" ";
    	if($_SESSION['ttype'] == '0last'){ echo "SELECTED"; }
    	echo ">История - Подключение\n<option value=\"1\" ";
    	if($_SESSION['ttype'] == 1){ echo "SELECTED"; }
    	echo ">Саппорт\n<option value=\"1last\" ";
    	if($_SESSION['ttype'] == '1last'){ echo "SELECTED"; }
    	echo ">История - саппорт\n<option value=\"all\" ";
    	if($_SESSION['ttype'] == 'all'){ echo "SELECTED"; }
    ?>
    				>Все
    			</select>

    Вывод селекта для выбора типа заявки. 0.001% сочно наговнокоженного проекта

    VeroLom, 10 Апреля 2012

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

    +114

    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
    if (FindNumber.Text.Length > 0)
            {
                string Num = FindNumber.Text;
                FindNom FN=new FindNom();
                Num = FN.ReplFindNumer(Num);
                if (Num != null && Num.Length > 0)
                {
                    StringBuilder sb = new StringBuilder(Num.Length);
                    foreach (char c in Num)
                    {
                        if (Char.IsControl(c) == true)
                            continue;
                        sb.Append(c);
                    }
                    Num = sb.ToString();
                }

    я пришел работать в фирму на развитие проекта интернет магазина, в ней уже работает программист, работает 6 лет!
    я открыл его код и увидел ЭТО. причем чувак щеки от важности раздувает

    t13ka, 04 Апреля 2012

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    void convert_bglfile(std::string infile, std::string source_charset, std::string target_charset)
    {
        std::string outfile;
        const char *p = infile.c_str();
        const char *p1 = strrchr(p, '.');
        if (p1) {
            outfile.assign(p, p1-p);
        } else {
            outfile = infile;
        }
    ...

    Из опенсорсного словаря StarDict. Товарисч на форуме написал, что не комилируется - не иклюдился cstring. А там такое :o

    myaut, 03 Апреля 2012

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

    +142

    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
    else
                    {
                      if(i == 0)
                      {
                        if(j == 0)
                        {
                          if(cells[i][j+1].label == 1)
                          {
                            cells[i][2].label = 2;
                            cells[i][2].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }else if(cells[i+1][j].label == 1)
                          {
                            cells[2][j].label = 2;
                            cells[2][j].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }else if(cells[i+1][j+1].label == 1)
                          {
                            cells[2][2].label = 2;
                            cells[2][2].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }
                        }else if(j == 1)
                        {
                          if(cells[i][j-1].label == 1)
                          {
                            cells[i][2].label = 2;
                            cells[i][2].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }else if(cells[i+1][j].label == 1)
                          {
                            cells[2][j].label = 2;
                            cells[2][j].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }else if(cells[i][j+1].label == 1)
                          {
                            cells[0][0].label = 2;
                            cells[0][0].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }
                        }else
                        {
                          if(cells[i][j-1].label == 1)
                          {
                            cells[i][0].label = 2;
                            cells[i][0].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }else if(cells[i+1][j].label == 1)
                          {
                            cells[2][2].label = 2;
                            cells[2][2].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }else if(cells[i+1][j-1].label == 1)
                          {
                            cells[2][0].label = 2;
                            cells[2][0].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }
                        }
                      }else if(cells[i-1][j].label == 1)

    часть 3 полный код можно посмотреть на http://www.gamedev.ru/projects/forum/?id=160346&page=2

    dani4, 01 Апреля 2012

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

    +141

    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
    else if(numTurns != 1)
          {
            {
              for(int i = 0; i < 3; i++)
              {
                for(int j = 0; j < 3; j++)
                {
                  if(cells[i][j].label == 1)
                  {
                    if(i == 1 && j == 1)
                    {
                      if(cells[i][j-1].label == 1)
                      {
                        cells[i][j+1].label = 2;
                        cells[i][j+1].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }else if(cells[i][j+1].label == 1)
                      {
                        cells[i][j-1].label = 2;
                        cells[i][j-1].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }else if(cells[i-1][j].label == 1)
                      {
                        cells[i+1][j].label = 2;
                        cells[i+1][j].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }else if(cells[i+1][j].label == 1)
                      {
                        cells[i-1][j].label = 2;
                        cells[i-1][j].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }else if(cells[i-1][j-1].label == 1)
                      {
                        cells[i+1][j+1].label = 2;
                        cells[i+1][j+1].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }else if(cells[i-1][j+1].label == 1)
                      {
                        cells[i+1][j-1].label = 2;
                        cells[i+1][j-1].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }else if(cells[i+1][j+1].label == 1)
                      {
                        cells[i-1][j-1].label = 2;
                        cells[i-1][j-1].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }else if(cells[i+1][j-1].label == 1)
                      {
                        cells[i-1][j+1].label = 2;
                        cells[i-1][j+1].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }
                    }

    часть 2

    dani4, 01 Апреля 2012

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    public function session_set_lifetime($time){
      /*NOT USED with cookies, can be used with sessions*/
      return null;
    }

    тотже мастер класа что и тут:
    http://govnokod.ru/9765/
    http://govnokod.ru/9777/

    fafik91, 27 Марта 2012

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

    +114

    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
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    private void button8_Click(object sender, EventArgs e)
            {
    
                string fn = "";
                string st = "";
                string value = "";
                string dirfile = "";
                StreamWriter sw;
    
    
                if (textBox1.Text != "")
                {
                    dirfile = textBox1.Text + "\\" + GetFileName(openFileDialog1.FileName) + comboBox1.SelectedValue.ToString() + ".csv";
                    sw = new StreamWriter(dirfile, false, System.Text.Encoding.UTF8);
                }
                else
                {
                    sw = new StreamWriter(openFileDialog1.FileName + comboBox1.SelectedValue.ToString() + ".csv", false, System.Text.Encoding.UTF8);
                }
    
                // Создаем колонки
    
                for (int cl = 0; cl < dt.Columns.Count; cl++)
                {
                    fn = dt.Columns[cl].ColumnName;
    
    
                    if (cl == 0)
                    {
                        st =  fn.Replace("\n", "").Replace(";", "");
                    }
                    else
                    {
                        st += ";" +  fn.Replace("\n", "").Replace(";", "");
                    }
    
    
                }
                sw.WriteLine(st);
    
    
                progressBar1.Minimum = 1;
                progressBar1.Maximum = dt.Rows.Count;
    
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    progressBar1.Value = i + 1;
    
                    Application.DoEvents();
    
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        value = dt.Rows[i][j].ToString();
    
                        if (value == "") { value = " "; }
    
                        try
                        {
                            Convert.ToInt16(value);
                            if (j == 0)
                            {
                                st = value.Replace("\n", "").Replace(";", "");
                            }
                            else
                            {
    
                                st += ";" + value.Replace("\n", "").Replace(";", "");
                            }
                        }
                        catch (System.FormatException exp)
                        {
                            if (j == 0)
                            {
                                st =  value.Replace("\n", "").Replace(";", "");
    
                            }
                            else
                            {
    
                                st += ";" +  value.Replace("\n", "").Replace(";", "") ;
                            }
                        }
                        catch (OverflowException oe)
                        {
                            if (j == 0)
                            {
                                st = value.Replace("\n", "").Replace(";", "");
                            }
                            else
                            {
    
                                st += ";" + value.Replace("\n", "").Replace(";", "");
                            }
                        }
                    }
                    sw.WriteLine(st);
                }
                sw.Close();
                MessageBox.Show("Ok");

    досталось в наследство, сохранение DataTable в CSV :)

    Lokich, 26 Марта 2012

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

    +109

    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
    public static MyResultData SqlReturnDataset(string sql, string connection)
                {
                    MyResultData result = new MyResultData();
                    try
                    {
                        MySql.Data.MySqlClient.MySqlConnection connRC = new MySql.Data.MySqlClient.MySqlConnection(connection);
                        MySql.Data.MySqlClient.MySqlCommand commRC = new MySql.Data.MySqlClient.MySqlCommand(sql, connRC);
                        connRC.Open();
    
                        try
                        {
                            MySql.Data.MySqlClient.MySqlDataAdapter AdapterP = new MySql.Data.MySqlClient.MySqlDataAdapter();
                            AdapterP.SelectCommand = commRC;
                            DataSet ds1 = new DataSet();
                            AdapterP.Fill(ds1);
                            result.ResultData = ds1.Tables[0];
                        }
                        catch (Exception ex)
                        {
                            result.HasError = true;
                            result.ErrorText = ex.Message;
                        }
                        connRC.Close();
                    }
                    catch (Exception ex)//Этот эксепшн на случай отсутствия соединения с сервером.
                    {
                        result.ErrorText = ex.Message;
                        result.HasError = true;
                    }
                
                    return result;
    
                }

    Govnisti_Diavol, 26 Марта 2012

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