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

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

    +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
    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
    <?php
    
    define('_IN_JOHNCMS', 1);
    require_once ('../incfiles/core.php');
    require_once ('../incfiles/ban.php');
    require_once ('../incfiles/head.php');
    //TODO: Написать Амнистию
    
            ////////////////////////////////////////////////////////////
            // Список нарушителей                                     //
            ////////////////////////////////////////////////////////////
            echo '<div class="phdr">Список нарушителей</div>';
            $sort = isset ($_GET['count']) ? 'bancount' : 'bantime';
            $req = mysql_query("SELECT `user_id` FROM `cms_ban_users` GROUP BY `user_id`");
            $total = mysql_num_rows($req);
            $req = mysql_query("SELECT COUNT(`cms_ban_users`.`user_id`) AS `bancount`, MAX(`cms_ban_users`.`ban_time`) AS `bantime`, MAX(`cms_ban_users`.`ban_while`) AS banwhile, `users`.*
            FROM `cms_ban_users` LEFT JOIN `users` ON `cms_ban_users`.`user_id` = `users`.`id`
            GROUP BY `user_id`
            ORDER BY `$sort` DESC
            LIMIT $start, $kmess");
            if (mysql_num_rows($req)) {
                while ($res = mysql_fetch_array($req)) {
                    $ban_type = ($res['bantime'] - $res['banwhile'] > 60 * 20) ? 'r' : 'i';
                    echo '<div class="' . ($res['bantime'] > $realtime ? $ban_type : '') . 'menu">';
                    echo show_user($res, 0, 2, ' [' . $res['bancount'] . ']&nbsp;<a href="../str/users_ban.php?id='.$res['id'].'">&gt;&gt;</a>');
                    echo '</div>';
                }
            }
            else {
                echo '<div class="menu"><p>Список пуст</p></div>';
            }
            echo '<div class="phdr">Всего: ' . $total . '</div>';
            if ($total > $kmess) {
                echo '<div class="pagenumb">' . pagenav('usr_ban.php?', $start, $total, $kmess) . '</div>';
            }
    
    require_once ("../incfiles/end.php");
    
    ?>

    просто кусок кода, чтобы показать знакомым. johncms

    xamgore, 24 Августа 2015

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

    +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
    $opl1_type_arr = array("no","yes");
     for($i=0;$i<2;$i++){
                $str_pr = $opl1_type_arr[$i];
                echo "<option value=\"$str_pr\"";
                if($RowOP['pay_peredano']==$str_pr) echo " selected";
                switch ($str_pr) {
        case 'yes':
         echo ">Да</option>";
         break;
        case 'no':
         echo ">Нет</option>";
         break;
       }
     }

    Вырезано из 2.5к строчек кода на боевом проекте. Здесь прекрасно всё.

    boltayka, 20 Августа 2015

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    toBin =: >@{:@((<.@%&2@>@{.;(1&-@=&0@>@{.#|~&2@>@{.),>@{:)^:_@;&a:) 
    
      toBin 1024
    1 0 0 0 0 0 0 0 0 0 0
       toBin 111
    1 1 0 1 1 1 1
       toBin 14
    1 1 1 0
       toBin 4
    1 0 0

    Продолжаем нечеловеческие эксперименты в области нетрадиционного программирования

    kegdan, 20 Августа 2015

    Комментарии (396)
  5. JavaScript / Говнокод #18594

    +2

    1. 1
    2. 2
    3. 3
    f($scope.data.extraFields){
          $scope.data.extraFields = $scope.data.extraFields;
        }

    разбираю сайт после предыдущего разраба

    fxt, 13 Августа 2015

    Комментарии (5)
  6. JavaScript / Говнокод #18592

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    var popup = function () {
                if ($('.popup_close').length > 0) {
                    $('.popup_close').on('click', function () {
                        $(this).closest('.wrapper_outer_popup').addClass('hidden');
                    });
                    $('.popup_target').on('click', function () {
                        $('.popup[data-popup="' + $(this).attr('data-target') + '"]').removeClass('hidden');
                    });
                }
            }(popup);

    Друг фронтендер, написал сие творение, из его слов он создал анонимную функцию которую тут же вызывает, суть в
    var popup = function () {/* какой-то код */}(popup); это все вместо (function(){ /*какой-то код */}) ();

    snayps, 11 Августа 2015

    Комментарии (7)
  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# / Говнокод #17756

    +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
    int a,b,c,d,e,f, k = 1;
     
     
     
     
                for (a = 0; a < 9; a++)
                    for (b = 0; b < 9; b++)
                        for (c = 0; c < 9; c++)
     
                            for (d = 0; d < 9; d++)
                                for (e = 0; e < 9; e++)
                                    for (f = 0; f < 9; f++)
                        {
                            if (a + b + c == d + e + f && a+b+c == 13)
                                k = k + 1;
                        }
      
     
     
                Console.WriteLine("кол-во комбинаций: " + k + " ");
                Console.WriteLine("кол-во билетов: " + k * k);

    Очередные лабы... God, whyyy...

    Psilon, 09 Марта 2015

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

    +2

    1. 1
    rates = rates.Join(filter, _=> filterItem.ToString(_), _ => _.ToString(), (_, _2) => _).ToList();

    Не надо так.

    retter, 25 Февраля 2015

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

    +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
    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
    void KateQuickOpen::update () {
      // пропущено
      QModelIndex idxToSelect;
      int linecount = 0;
      QMapIterator<qint64, KTextEditor::View *> i2(sortedViews);
      while (i2.hasNext()) {
            i2.next();
    
            KTextEditor::Document *doc = i2.value()->document();
    
            if (alreadySeenDocs.contains(doc))
              continue;
    
            alreadySeenDocs.insert (doc);
    
            QStandardItem *itemName = new QStandardItem(doc->documentName());
    
            itemName->setData(qVariantFromValue(QPointer<KTextEditor::Document> (doc)), DocumentRole);
            itemName->setData(QString("%1: %2").arg(doc->documentName()).arg(doc->url().pathOrUrl()), SortFilterRole);
            itemName->setEditable(false);
            QFont font = itemName->font();
            font.setBold(true);
            itemName->setFont(font);
    
            QStandardItem *itemUrl = new QStandardItem(doc->url().pathOrUrl());
            itemUrl->setEditable(false);
            base_model->setItem(linecount, 0, itemName);
            base_model->setItem(linecount, 1, itemUrl);
            linecount++;
    
            if (!doc->url().isEmpty() && doc->url().isLocalFile())
              alreadySeenFiles.insert (doc->url().toLocalFile());
    
            // select second document, that is the last used (beside the active one)
            if (linecount == 2)
              idxToSelect = itemName->index();
        }
    
      // get all open documents
      QList<KTextEditor::Document*> docs = Kate::application()->documentManager()->documents();
        foreach(KTextEditor::Document *doc, docs) {
            // skip docs already open
            if (alreadySeenDocs.contains (doc))
              continue;
    
            QStandardItem *itemName = new QStandardItem(doc->documentName());
    
            itemName->setData(qVariantFromValue(QPointer<KTextEditor::Document> (doc)), DocumentRole);
            itemName->setData(QString("%1: %2").arg(doc->documentName()).arg(doc->url().pathOrUrl()), SortFilterRole);
            itemName->setEditable(false);
            QFont font = itemName->font();
            font.setBold(true);
            itemName->setFont(font);
    
            QStandardItem *itemUrl = new QStandardItem(doc->url().pathOrUrl());
            itemUrl->setEditable(false);
            base_model->setItem(linecount, 0, itemName);
            base_model->setItem(linecount, 1, itemUrl);
            linecount++;
    
            if (!doc->url().isEmpty() && doc->url().isLocalFile())
              alreadySeenFiles.insert (doc->url().toLocalFile());
        }
    
        // insert all project files, if any project around
        if (Kate::PluginView *projectView = m_mainWindow->mainWindow()->pluginView ("kateprojectplugin")) {
          QStringList projectFiles = projectView->property ("projectFiles").toStringList();
          foreach (const QString &file, projectFiles) {
            // skip files already open
            if (alreadySeenFiles.contains (file))
              continue;
    
            QFileInfo fi (file);
            QStandardItem *itemName = new QStandardItem(fi.fileName());
    
            itemName->setData(qVariantFromValue(KUrl::fromPath (file)), UrlRole);
            itemName->setData(QString("%1: %2").arg(fi.fileName()).arg(file), SortFilterRole);
            itemName->setEditable(false);
            QFont font = itemName->font();
            font.setBold(true);
            itemName->setFont(font);
    
            QStandardItem *itemUrl = new QStandardItem(file);
            itemUrl->setEditable(false);
            base_model->setItem(linecount, 0, itemName);
            base_model->setItem(linecount, 1, itemUrl);
            linecount++;
          }
        }
    
        // swap models and kill old one
        m_model->setSourceModel (base_model);
        delete m_base_model;
        m_base_model = base_model;
    
        // пропущено
    }

    Адская копипаста. У меня мозг сегфолтится при попытке ее формализировать.

    https://projects.kde.org/projects/kde/applications/kate/repository/revisions/master/entry/kate/app/katequickopen.cpp#L135

    Elvenfighter, 16 Февраля 2014

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

    +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
    class pool_exeption: public std::exception
    {
        virtual  const char* what() const throw()
        {
            return "Pool out of bounds";
        }
    }pool_out_of_bounds;
    class pool_exeption2: public std::exception
    {
        virtual  const char* what() const throw()
        {
            return "Pool block is too small";
        }
    }pool_small_block;

    А потом эти исключения кидаются по значению: throw pool_out_of_bounds;
    virtual const char* WAT()

    Yuuri, 18 Октября 2013

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