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

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

    +998

    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
    #define TRACE_VAR	ATraceClass *mTrace
    #define TRACE_VAR_INIT	mTrace = ATraceClass::getInstance()
    
    class ATraceClass {
    public:
    	void log(int severity, const char *format, ...);
    	/* ... */
    }
    
    class ATraceUser {
    public:
    	ATraceUser::ATraceUser() {
    		TRACE_VAR_INIT;
    	}
            int SomeMethod1();
    	/* ... */
    	TRACE_VAR;
    }
    
    int ATraceUser::SomeMethod1()
    {
      /* ... */
      if (errorCondition)
      {
        return mTrace->log( ERR, "Something went terribly"\
                            "wrong when doing the operation %s\n",\
                            mOperation),-1;
      }
      /* ... */
    }

    в догонку к #3355 - это уже как бы пример стиля использования логгера егоным же автором.

    пришел ко мне как-то народ, показал нечто что я тут иллюстрирую в SomeMethod1() и спросил:
    (1) а на кой эти слеши? может нам и весь остальной код нужно ими разукрасить??
    (2) а как это void можно из int функции возвращать? и как это вообще работает? вроде в С/С++ такое нельзя....

    у меня до сих пор в голове не укладывается каким .... надо быть что бы такой код писать.

    Dummy00001, 31 Мая 2010

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

    +118

    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
    #region копирование в буфер
            private void copia_Click(object sender, EventArgs e)
            {
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < listBox1.Items.Count; i++)
                {
                    sb.Append(listBox1.Items[i].ToString());//Добавляем строчку из листБокса
                    sb.Append((char)13);//Перенос строки
                    sb.Append((char)10);//Перевод каретки
                }
                Clipboard.SetText(sb.ToString());//Отправляем всё в КлипБорд
            }
            #endregion
    
            #region Сохранить в файл
    
            private void save_Click(object sender, EventArgs e)
            {
                saveFileDialog1.DefaultExt = ".txt";
                saveFileDialog1.OverwritePrompt = true;
                saveFileDialog1.Title = "Координаты";
                saveFileDialog1.Filter = "Text Files|*.txt";
    
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);
                    StringBuilder sb = new StringBuilder();
                    for (int i = 0; i < listBox1.Items.Count; i++)
                    {
                        sb.Append(listBox1.Items[i].ToString());//Добавляем строчку из листБокса
                        sb.Append((char)13);//Перенос строки
                        sb.Append((char)10);//Перевод каретки
                    }
                    sw.WriteLine(sb);
                    sw.Flush();
                    sw.Close();
                }
            }
            #endregion

    L5D, 12 Мая 2010

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

    +171

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (isset($_POST['nick']))       {$nick = $_POST['nick'];}
    if (isset($_POST['pass']))       {$pass = $_POST['pass'];}
    
    
    if (isset($_GET['nick'])) {$nick = $_GET['nick'];}
    if (isset($_GET['pass'])) {$pass = $_GET['pass'];}

    один из видеоуроков Е.Попова=)

    Ice, 02 Мая 2010

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

    +172

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $pattern = "/\w{0,5}[хx]([хx\s\!@#\$%\^&*+-\|\/]{0,6})[уy]([уy\s\!@#\$%\^&*+-\|\/]{0,6})[ёiлeеюийя]\w{0,7}|\w{0,6}[пp]([пp\s\!@#\$%\^&*+-\|\/]{0,6})[iие]([iие\s\!@#\$%\^&*+-\|\/]{0,6})[3зс]([3зс\s\!@#\$%\^&*+-\|\/]{0,6})[дd]\w{0,10}|[сcs][уy]([уy\!@#\$%\^&*+-\|\/]{0,6})[4чkк]\w{1,3}|\w{0,4}[bб]([bб\s\!@#\$%\^&*+-\|\/]{0,6})[lл]([lл\s\!@#\$%\^&*+-\|\/]{0,6})[yя]\w{0,10}|\w{0,8}[её][bб][лске@eыиаa][наи@йвл]\w{0,8}|\w{0,4}[еe]([еe\s\!@#\$%\^&*+-\|\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|\/]{0,6})[uу]([uу\s\!@#\$%\^&*+-\|\/]{0,6})[н4ч]\w{0,4}|\w{0,4}[еeё]([еeё\s\!@#\$%\^&*+-\|\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|\/]{0,6})[нn]([нn\s\!@#\$%\^&*+-\|\/]{0,6})[уy]\w{0,4}|\w{0,4}[еe]([еe\s\!@#\$%\^&*+-\|\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|\/]{0,6})[оoаa@]([оoаa@\s\!@#\$%\^&*+-\|\/]{0,6})[тnнt]\w{0,4}|\w{0,10}[ё]([ё\!@#\$%\^&*+-\|\/]{0,6})[б]\w{0,6}|\w{0,4}[pп]([pп\s\!@#\$%\^&*+-\|\/]{0,6})[иeеi]([иeеi\s\!@#\$%\^&*+-\|\/]{0,6})[дd]([дd\s\!@#\$%\^&*+-\|\/]{0,6})[oоаa@еeиi]([oоаa@еeиi\s\!@#\$%\^&*+-\|\/]{0,6})[рr]\w{0,12}/i";
    
                if(preg_match($pattern, $text)) {
                    $reason = 'мат';
                    unset ($text);
                    $text = '<b>пользователь был забанен, причина: ';
                    $text .= $reason;
                    $text .= '</b>';
                    $user_ban = true;
                }

    Вот такая защита от мата стоит в чате одной браузерной игрушки.

    WinnerWolf, 23 Апреля 2010

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

    +64.8

    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
    public static Boolean parseBoolean(Object x)
         {
              if(x instanceof Integer)
                   return (Integer) x != 0;
    
              if(x == null)
                   return false;
    
              if(x instanceof Boolean)
                   return (Boolean) x;
    
              if(x instanceof Double)
                   return Math.abs((Double) x) < 0.00001;
    
              return !("" + x).equals("");
         }

    Веселый кусочег из эмулятора сервера Lineage II (Сборка от L2f).

    VirtualVoid, 20 Апреля 2010

    Комментарии (28)
  7. Pascal / Говнокод #2981

    +92

    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
    {Обнуление сумм}
    
        sum1:=0;
        sum2:=0;
        sum3:=0;
        sum4:=0;
        sum5:=0;
        sum6:=0;
        sum7:=0.001;
        sum8:=0.001;
        giga1:=0;
        giga2:=0;
        sum9:=0;
        sum10:=0;
        sum11:=0;
        sum12:=0;
        sum13:=0;
        sum14:=0;
        sum15:=0;
        sum16:=0;
    
        for i:=0 to cnt do begin
        sum1:=sum1+TNP[i]; sum2:=sum2+TNO[i]; //Подсчёт "Прямого" и "Обратного"
        sum3:=sum3+TNP[i]-TNO[i]; //Подсчёт "Израсходовано воды"
        sum4:=sum4+PAR[i]; //Подсчёт "Израсходовано пара"
        sum5:=sum5+Tpar[i]; //Подсчёт "температуры пара"
        sum6:=sum6+Ppar[i]; //Подсчёт "давления пара"
        sum7:=sum7+Tprm[i]; //Подсчёт "температуры прямого"
        sum8:=sum8+Tobr[i]; //Подсчёт "температуры обратного"
        sum10:=sum10+Qvoz[i]; //Подсчёт "Израсходовано воздуха"
        sum11:=sum11+Tvoz[i]; //Подсчёт "температуры воздуха"
        sum12:=sum12+Pvoz[i]; //Подсчёт "давление воздуха"
        sum13:=sum13+Qhzv[i]; //Подсчёт "Израсходовано хоз. воды"
        sum14:=sum14+Qthv[i]; //Подсчёт "Израсходовано тех. воды"
        sum15:=sum15+Thzv[i]; //Подсчёт "Температуры. хоз воды"
        sum16:=sum16+Tthv[i]; //Подсчёт "Температуры. тех воды"
    
     // giga1:= (sum1 * 1000) * (660 * 0.000001) /  (sum7/sum8) ; // расчёт гигакалорий для отопления
     // giga1:= (sum1 * 1000) * (660 * 0.000001); // расчёт гигакалорий для отопления
    
        giga1:= (sum3 / 3.04); // расчёт гигакалорий для отопления
    
        giga2:= (sum4 * 1000) * (660 * 0.000001); // расчёт гигакалорий для пара
        end;    end;    end;

    ka3ax, 10 Апреля 2010

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

    +180

    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
    function writeTotalEntries()
        {
            $cnt = $this->totalentries;
            if ($cnt == 0) {
                return "записей нет";
            } elseif ($cnt == 1)
            {
                return "1 запись";
            } elseif ($cnt == 2)
            {
                return "2 записи";
            } elseif ($cnt == 3)
            {
                return "3 записи";
            } elseif ($cnt == 4)
            {
                return "4 записи";
            } elseif ($cnt == 5)
            {
                return "5 записей";
            } elseif ($cnt == 6)
            {
                return "6 записей";
            } elseif ($cnt == 7)
            {
                return "7 записей";
            } elseif ($cnt == 8)
            {
                return "8 записей";
            } elseif ($cnt == 9)
            {
                return "9 записей";
            } elseif (($cnt >= 10) && ($cnt <= 20))
            {
                return $cnt." записей";
            } elseif ($cnt%10 == 1)
            {
                return $cnt." запись";
            } else
            {
                return $cnt." записей";
            }
        }

    Было найдено в одном из проектов.

    Rpsl, 30 Марта 2010

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

    +157.2

    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
    public function is_image($mime) {
    		//Функция проверяет по mime типу является ли поступивший файл изображением
    		$images_mime = array('image/jpeg','image/pjpeg','image/png','image/cgm','image/fits','image/g3fax',
    							'image/gif','image/ief','image/jp2','image/jpm','image/jpx','image/naplps',
    							'image/prs.btif','image/prs.pti','image/t38','image/tiff','image/tiff-fx',
    							'image/vnd.adobe.photoshop','image/vnd.cns.inf2','image/vnd.djvu','image/vnd.dwg',
    							'image/vnd.dxf','image/vnd.fastbidsheet','image/vnd.fpx','image/vnd.fst',
    							'image/vnd.fujixerox.edmics-mmr','image/vnd.fujixerox.edmics-rlc','image/vnd.globalgraphics.pgb',
    							'image/vnd.microsoft.icon','image/vnd.mix','image/vnd.ms-modi','image/vnd.net-fpx',
    							'image/vnd.sealed.png','image/vnd.sealedmedia.softseal.gif','image/vnd.sealedmedia.softseal.jpg',
    							'image/vnd.svf','image/vnd.wap.wbmp','image/vnd.xiff');
    		if(!in_array($mime,$images_mime)) {
    			//Не было найдено совпадений mime типа - это не картинка
    			return false;
    		}
    		else {
    			//Было найдено совпадение mime типа
    			return true;
    		}
    	}

    Кучка бредокода ради закрытия уязвимости.

    Subsanek, 10 Марта 2010

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

    +160.7

    1. 1
    $_date	= date("Y-m-d", mktime("0", "0", "0", date("m"), date("d")-2, date("Y")));

    нашел в сорсе одного из наших сайтов

    polizei, 24 Февраля 2010

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

    +144.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    string& operator+= (string const& str)
        {
            if(const size_t str_size = str.size())
                _c_str = (char*)memcpy((char*)realloc(_c_str, _size+str_size+1)+_size, str.c_str(), str_size+1)-_size, //0_o
                _size += str_size;
            return *this;
        }

    GovnocoderJr, 22 Января 2010

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