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

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if(preg_match("/^([a-z0-9_\.-]+)@([a-z0-9_\.-]+)\.([a-z\.]{2,6})$/", urldecode($_POST['email']))){
        $email = urldecode($_POST['email']);
    }else{
        $email = '';
    }
    $email  = mysql_real_escape_string($email);
    $email  = strip_tags($email);

    Код на реальном проекте. Я когда увидел, расплакался от умиления.

    Troy, 21 Октября 2015

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

    +6

    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
    int main() {
        interpretator_t i;
    
        i.eval(
        {let, "factorial_helper", {quote, {"this", "num"},
            {if_, {eq_, {"num"}, 0}, 1, {mul_, {"num"}, {{"this"}, {"this"}, {sub_, {"num"}, 1}}}}
        },
        {let, "factorial", {quote, {"num"}, {{"factorial_helper"}, {"factorial_helper"}, {"num"}}},
            {do_,
                {write_, "vvedite chislo: "},
                {assign_, "x", {to_number_, {read_}}},
                {write_, "factorial: "},
                {write_, {{"factorial"}, {"x"}}},
                {write_, "\n"}
            }
        }}
        );
    
        return 0;
    }

    Смотрите, какой лисп я написал. Он еще и ленивый.

    kurwa, 01 Октября 2015

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

    +1

    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
    switch ($result[$j]) {
                        case 0: $res .= $result[$j];
                            break;
                        case 1: $res .= $result[$j];
                            break;
                        case 2: $res .= $result[$j];
                            break;
                        case 3: $res .= $result[$j];
                            break;
                        case 4: $res .= $result[$j];
                            break;
                        case 5: $res .= $result[$j];
                            break;
                        case 6: $res .= $result[$j];
                            break;
                        case 7: $res .= $result[$j];
                            break;
                        case 8: $res .= $result[$j];
                            break;
                        case 9: $res .= $result[$j];
                            break;
                        case 10: $res .= "a";
                            break;
                        case 11: $res .= "b";
                            break;
                        case 12: $res .= "c";
                            break;
                        case 13: $res .= "d";
                            break;
                        case 14: $res .= "e";
                            break;
                        case 15: $res .= "f";
                            break;
                        case 16: $res .= "g";
                            break;
                    }

    p0p, 27 Августа 2015

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

    +172

    1. 1
    2. 2
    $lastBuildDate=date(DATE_FORMAT_RFC822);
    $lastBuildDated = str_replace ( '+0400' , '+0300' , $lastBuildDate );

    Шах и мат серверным настройкам timezone

    talam0nal, 07 Апреля 2015

    Комментарии (31)
  6. Куча / Говнокод #17950

    +145

    1. 1
    http://geektimes.ru/post/248580/

    Ну что, пидарашки. Олимпиадные программисты ожидаемо соснули. Все еще будете употреблять "а наши побеждают в олимпиадах" как аргумент?

    xyilka, 07 Апреля 2015

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

    +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
    21. 21
    public static DateTime DateStringConvert(string dateString)
            {
                var dd = dateString.Substring(0, dateString.IndexOf('-'));
                var mm = dateString.Substring(dateString.IndexOf('-') + 1).Substring(0, dateString.IndexOf('-'));
                var yyyy = dateString.Substring(dateString.IndexOf('-') + 1).Substring(dateString.IndexOf('-') + 1)
                    .Substring(0, dateString.Substring(dateString.IndexOf('-') + 1)
                    .Substring(dateString.IndexOf('-') + 1).IndexOf(' '));
                var time = dateString.Substring(dateString.IndexOf('-') + 1).Substring(dateString.IndexOf('-') + 1)
                    .Substring(dateString.Substring(dateString.IndexOf('-') + 1)
                    .Substring(dateString.IndexOf('-') + 1).IndexOf(' ') + 1);
    
                var hh = time.Substring(0, time.IndexOf(':'));
                var MM = time.Substring(time.IndexOf(':') + 1);
                return new DateTime(
                    Convert.ToInt16(yyyy),
                    Convert.ToInt16(mm),
                    Convert.ToInt16(dd),
                    Convert.ToInt16(hh),
                    Convert.ToInt16(MM),
                    0);
            }

    Вот что происходит, когда не знаешь, как парсить string в DateTime. Говнокод получен от украинских фрилансеров.

    RaTT, 18 Марта 2015

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

    +1

    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
    public enum AdjacentCell {
       /// <summary>
       /// Сверху.
       /// </summary>
       Above = ABOVE,
       /// <summary>
       /// Снизу.
       /// </summary>
       Below = BELOW,
       /// <summary>
       /// Слева.
       /// </summary>
       Left = LEFT,
       /// <summary>
       /// Справа.
       /// </summary>
       Right = RIGHT
      }
    
      private const int ABOVE = 0;
      private const int BELOW = 1;
      private const int LEFT = 2;
      private const int RIGHT = 3;

    Мы добавили немного констант в твой енам, чтобы ты мог использовать константы, пока используешь енам

    Caritas, 10 Марта 2015

    Комментарии (31)
  9. Си / Говнокод #17719

    +133

    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
    int start()
      {
     string filename = "GBPJPY.hst";
     int i_unused[30];
       
     int FILE = FileOpenHistory(filename, FILE_READ|FILE_BIN);
     FileSeek(FILE, 0, SEEK_SET);
     
     int version    = FileReadInteger (FILE, LONG_VALUE);
     string c_copyright  = FileReadString (FILE, 64);
     string name    = FileReadString (FILE, 12);
     int period     = FileReadInteger (FILE, LONG_VALUE);
     int i_digits   = FileReadInteger (FILE, LONG_VALUE);
     int timesign    = FileReadInteger (FILE, LONG_VALUE);       //timesign
     datetime last_sync   = FileReadInteger (FILE, LONG_VALUE);       //last_sync
     FileReadArray (FILE, i_unused, 0, 13);
     
     Print("Version = ", version);
     Print("c_copyright = ", c_copyright);
     Print("Equity = ", name);
     Print("period = ", period);
     Print("i_digits = ", i_digits);
     Print("timesign = ", TimeToStr(timesign, TIME_DATE|TIME_SECONDS));
     Print("last_sync = ", last_sync);
     Print("i_unused = ", i_unused[0]);
     Print("i_unused = ", i_unused[1]);
     Print("i_unused = ", i_unused[2]);
     Print("i_unused = ", i_unused[3]);
     Print("i_unused = ", i_unused[4]);
     Print("i_unused = ", i_unused[5]);
     Print("i_unused = ", i_unused[6]);
     Print("i_unused = ", i_unused[7]);
     Print("i_unused = ", i_unused[8]);
     Print("i_unused = ", i_unused[9]);
     Print("i_unused = ", i_unused[0]);
     Print("i_unused = ", i_unused[11]);
     Print("i_unused = ", i_unused[12]);
     Print("Time    = ", FileReadInteger (FILE, LONG_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Volume   = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Time    = ", FileReadInteger (FILE, LONG_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Volume   = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Time    = ", FileReadInteger (FILE, LONG_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Volume   = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Time    = ", FileReadInteger (FILE, LONG_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Volume   = ", FileReadDouble (FILE, DOUBLE_VALUE));
     FileClose(FILE);   
     return(0);
    }

    Язык программирования торгового терминала MetaTrader 4 - MQL 4 - имеет C-нотацию. Многое роднит его с языком C, поэтому пример размещаю сюда.
    У меня складывается мнение, что, как и Forex - дно (днище) в мире электронной торговли, так и основная масса кода, написанного на MQL4 - образец того, как
    НЕ нужно программировать! Чего стоит одна только вырвиглазная разметка вкупе с корявым непоследовательным именованием... характерная, в том числе,
    и для официально поставляемых с терминалом примеров кода. Заранее прошу прощения за многострочный пример

    AndreySt, 02 Марта 2015

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

    +46

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    extern QString code2text(unsigned long code)
    {
        if (code == 0) return QString::fromUtf8("Операция успешно завершена");
        if (code == 1) return QString::fromUtf8("Неверная функция");
        //over 3400 строк
        return QString("%1").arg(code);
    }

    как это сделать по человечески?
    полная версия https://github.com/kin63camapa/softodrom/blob/master/softodrom/errcodes.cpp

    kin63camapa, 07 Января 2015

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $query = "INSERT INTO news (title, img_url, subtitle, content, date, time, id) 
    	VALUES (\"" .
    	$_POST["title"] . "\", \"" .
    	$_POST["img_url"] . "\", \"" .
    	$_POST["subtitle"] . "\", \"" .
    	$_POST["content"] . "\", \"" .
    	date("Y-m-d") . "\", \"" .
    	time() . "\", " .
    	DEFAULT . ");";

    только начал php. уверень, есть решение поэлегантнее этого

    artembegood, 05 Января 2015

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