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

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

    +51

    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
    template <class T> class return_1_t: public std::unary_function<T, T> {
    public:
    	return_1_t(const T & Ret) : _ret(Ret) {}
    	T operator()(T Arg) const { return _ret; }
    private:
    	T _ret;
    };
    template <class Arg1, class Arg2> class project1st: public std::binary_function<Arg1, Arg2, Arg1> {
    public:
    	Arg1 operator()(const Arg1 & X, const Arg2 & Y) { return X; }
    };
    template <class Arg1, class Arg2> class project2nd: public std::binary_function<Arg1, Arg2, Arg2> {
    public:
    	Arg2 operator()(const Arg1 & X, const Arg2 & Y) { return Y; }
    };
    template <class T> class identity: public std::unary_function<T, T> {
    public:
    	T operator()(const T & Arg) const { return Arg; }
    };
    template <class To, class From> class static_cast_t: public std::unary_function<To, From> {
    public:
    	To operator()(From obj) const {	return static_cast<To>(obj); }
    };
    template <class T> class take_address: public std::unary_function<T&, T*> {
    public:
    	result_type operator()(argument_type arg) const { return &(arg); }
    };
    template <class T> class take_const_address: public std::unary_function<const T&, const T*> {
    public:
    	result_type operator()(argument_type arg) const { return &(arg); }
    };
    template <class T> class creator: public std::unary_function<void, T*> {
    public:
    	result_type operator()(void) const { return new T(); }
    };
    template <class T, class Arg1> class creator_1_par: public std::unary_function<Arg1, T*> {
    public:
    	result_type operator()(argument_type arg) const { return new T(arg); }
    };
    template <class T, class Arg1, class Arg2> class creator_2_par: public std::binary_function<Arg1, Arg2, T*> {
    public:
    	result_type operator()(first_argument_type arg1, second_argument_type arg2) const	{ return new T(arg1, arg2);	}
    };
    template <class T> class maker: public std::unary_function<void, T> {
    public:
    	result_type operator()(void) const { return T(); }
    };
    template <class T, class Arg1> class maker_1_par: public std::unary_function<Arg1, T> {
    public:
    	result_type operator()(argument_type arg) const { return T(arg); }
    };
    template <class T, class Arg1, class Arg2> class maker_2_par: public std::binary_function<Arg1, Arg2, T> {

    Вот до чего доводит людей отсутствие частичного применения и лямбд.

    laMer007, 13 Февраля 2014

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

    −123

    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
    //***************************************************************************
    Функция ИмяМесяца(Дата)
    	
    	Если ТипЗнч(Дата) = Тип("Дата") тогда
    		НомерМесяца = Месяц(Дата);
    		НомерГода = Год(Дата);
    	Иначе		
    		НомерМесяца = Число(Сред(Дата,5,2));	
    		НомерГода = Число(Лев(Дата,4));	
    	КонецЕсли;
    	
    	Если НомерМесяца = 1 тогда
    		ИмяМесяца = "Январь";
    	ИначеЕсли НомерМесяца = 1 тогда
    		ИмяМесяца = "Январь";
    	ИначеЕсли НомерМесяца = 2 тогда
    		ИмяМесяца = "Февраль";   
    	ИначеЕсли НомерМесяца = 3 тогда
    		ИмяМесяца = "Март";   
    	ИначеЕсли НомерМесяца = 4 тогда
    		ИмяМесяца = "Апрель";
    	ИначеЕсли НомерМесяца = 5 тогда
    		ИмяМесяца = "Май";   
    	ИначеЕсли НомерМесяца = 6 тогда
    		ИмяМесяца = "Июнь";   
    	ИначеЕсли НомерМесяца = 7 тогда
    		ИмяМесяца = "Июль";
    	ИначеЕсли НомерМесяца = 8 тогда
    		ИмяМесяца = "Август";   
    	ИначеЕсли НомерМесяца = 9 тогда
    		ИмяМесяца = "Сентябрь";   
    	ИначеЕсли НомерМесяца = 10 тогда
    		ИмяМесяца = "Октябрь";
    	ИначеЕсли НомерМесяца = 11 тогда
    		ИмяМесяца = "Ноябрь";   
    	ИначеЕсли НомерМесяца = 12 тогда
    		ИмяМесяца = "Декабрь";
    	КонецЕсли;
    	
    	Возврат ИмяМесяца + " " + Формат(НомерГода,"ЧГ=0");	
    	
    КонецФункции

    Неделю умилялся и плакал от счастья=)

    safer_bwd, 31 Января 2014

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

    +128

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    //...
    for (int i = 0; i < size; i++)
    {
        //...
        if (i == size + 2) break;
        //...
    }
    //...

    Увидел у соседа в коде. Осторожность никогда не помешает :)

    MoN, 21 Декабря 2013

    Комментарии (21)
  5. Куча / Говнокод #14165

    +130

    1. 1
    class Int extends Float {}

    http://haxe.ru/ref-base_types

    someone, 02 Декабря 2013

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

    +162

    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 image($id, $idname, $width, $height, $save, $jpg) {
            
            ...........................................................................................
            //throw new Exception('Типо неизвестный формат');
            echo 'Типо неизвестный формат изображения';
        
    }
    
    
    
    function video($id, $idname, $save, $wmv) {
             .......................................................................................
            //throw new Exception('Типо неизвестный формат');
            echo "Типо неизвестный формат !" . $id['name'];
        }

    От автора "Ghgh", Новый остросюжетный код "Типо ошибка"

    хуита, 27 Ноября 2013

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

    +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
    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
    private void FormBackUpFlash_Load(object sender, EventArgs e)
      {
       DriveInfo[] allDrives = DriveInfo.GetDrives();
       foreach (DriveInfo d in allDrives)
       {
        if (d.DriveType == DriveType.Removable)
        {
         bool thisIsDisketa = false;
         if (d.Name.Contains("A:")) thisIsDisketa = true;
         if (d.Name.Contains("B:")) thisIsDisketa = true;
    
         if (thisIsDisketa)
          continue;
         else
          listBoxDevice.Items.Add(d);
        }
       }
       if (listBoxDevice.Items.Count > 0)
       {
        StatusLabel.ForeColor = Color.Blue;
        StatusLabel.Text = "Готово!";
        listBoxDevice.SelectedIndex = 0;
       }
       else
       {
        buttonWrite.Enabled = false;
        StatusLabel.ForeColor = Color.Red;
        StatusLabel.Text = "Подходящих устройств нет!";
       }
      }
    
      private void buttonWrite_Click(object sender, EventArgs e)
      {
       try
       {
        DriveInfo drv = (DriveInfo)listBoxDevice.SelectedItem;
        pathDst = Path.Combine(drv.Name, "PROJECTNAME_Backup");
        if (!Directory.Exists(Path.Combine(drv.Name, "PROJECTNAME_Backup")))
        {
         Directory.CreateDirectory(pathDst);
        }
        this.Cursor = Cursors.WaitCursor;
        DBMSSQL dbm = new DBMSSQL();
        int i;
        for (i = 0; i < 10; i++)
        {
         if (dbm.BackupDB(Path.Combine(Path.Combine(drv.Name, "PROJECTNAME_Backup"), "DataPROJECTNAMEDataContext.bak"), true))
         {
          MessageBox.Show("Резервная копия создана успешно!", "OK!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
          break;
         }
         Thread.Sleep(1000);
        }
        if (i == 10)
        {
         MessageBox.Show("Ошибка при создании резервной копии!!!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
       }
       catch (Exception e1)
       {
        MessageBox.Show(e1.Message + "\r\nЭкспорт отменен!");
        this.DialogResult = DialogResult.Cancel;
       }
       finally { this.Cursor = Cursors.Default; }
      }
    
      private void listBoxDevice_SelectedIndexChanged(object sender, EventArgs e)
      {
       try
       {
        DriveInfo drv = (DriveInfo)listBoxDevice.SelectedItem;
        labelSizeDevice.Text = drv.AvailableFreeSpace < 1000000000 ?
            string.Format("{0}MB", drv.AvailableFreeSpace / 1000000) :
            string.Format("{0:F2}GB", (float)drv.AvailableFreeSpace / 1000000000.0);
       }
       catch (Exception e1)
       {
        MessageBox.Show(e1.Message);
       }
      }

    Три в одном.
    Исключаем флоппи из списка дисков, 10 раз пытаемся создать бэкап и 1000000 байт в мегабайте.

    just_nameless, 15 Октября 2013

    Комментарии (21)
  8. Ruby / Говнокод #13929

    −148

    1. 1
    "class".class.class

    Не говнокод, просто забавно

    __proto__, 12 Октября 2013

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

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public Agent[] GetChildAgents(Agent parent)
    {
    	if (parent == null)
    		throw new NullReferenceException();
    		
    	// ...some code...	
    }

    Перед смертью не надышишься, зачем оттягивать неизбежное.

    yamamoto, 02 Октября 2013

    Комментарии (21)
  10. Си / Говнокод #13875

    +139

    1. 1
    for (normalize(); n > 0; scanf("%d", &temp, n--)){...}

    Но ведь работает!

    Nex, 30 Сентября 2013

    Комментарии (21)
  11. Java / Говнокод #13748

    +67

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /**
         * Удаляет "плохие" символы в пути и заменяет пробелы на символ подчеркивания.
         * Двойные кавычки заменяются на одинарные.
         * @param path путь.
         * @return путь с удаленными недопустимыми символами.
         */
    public static String correctPath(String path) {
            return correctPath(path);
    }

    Moloth, 06 Сентября 2013

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