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

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $hostInfo = Yii::app()->getRequest()->getHostInfo();
        	$hostInfo = str_replace('http://', "", $hostInfo);
        	$hostInfo = str_replace('www', "", $hostInfo);
        	$hostInfo = str_replace('sitename', "", $hostInfo);
        	$hostInfo = str_replace('.', "", $hostInfo);
        	$hostInfo = preg_replace('/ru|local/', '', $hostInfo);

    Человек до меня получал поддомен третьего уровня

    TRANE73, 19 Мая 2014

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

    +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
    foreach ($line as $cell) { 
        if ($first) {
    	echo "<td id='csv_head' class='td_csv_head" . $i . "'>" 
    	. htmlspecialchars($cell) 
    	. '</br><select class="td_csv_modules' . $i . '" onchange="get_submodules($(\'.td_csv_modules' . $i . '\').val(), ' . $i . ')">' 
    	. $blank_select // </select>
    	. '</br><select class="td_csv_fields' . $i . '"><option value=""></option>'
    	. "</td>";
        } else {
    	echo "<td class='td_csv'>" . htmlspecialchars($cell) . "</td>";
        };
        $i++;
    }

    Нашел в коде коллеги. Кода было много, выкладываю самый вкусный. Момент с id и class у select-ов не опечатка. Подобное всречается абсолютно везде.

    ivanstroilov, 16 Мая 2014

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

    +12

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // Decompress section data
    if (ERR_SUCCESS != LzmaDecompress(data, dataSize, decompressed)) {
        // Intel modified LZMA workaround
        EFI_COMMON_SECTION_HEADER* shittySectionHeader;
        UINT32 shittySectionSize;
        // Shitty compressed section with a section header between COMPRESSED_SECTION_HEADER and LZMA_HEADER
        // We must determine section header size by checking it's type before we can unpack that non-standard compressed section
        shittySectionHeader = (EFI_COMMON_SECTION_HEADER*) data;
        shittySectionSize = sizeOfSectionHeaderOfType(shittySectionHeader->Type);
        // ...

    Oh shit!

    spb-yuriy, 16 Мая 2014

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

    +154

    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
    Ext.define('Block', {
        config: {
            title: 'default',
            desc: 'default'
        },
        constructor: function (config) {
            this.initConfig(config);
        },
        tpl: new Ext.Template( '<div class="block">\
                                <div class="close">×</div>\
                                <div class="wrapper">\
                                <h3 class="title">{0}</h3>\
                                <p class="desc">{1}</p>\
                                </div>\
                                </div>'),
        create: function(){
            var div = new Ext.dom.Element(document.createElement('div')),
                html = this.tpl.apply([
                    this.title,
                    this.desc
                ]);
            div.setHTML(html);
            return div.first();
        }
    });
    
    var form = Ext.get('form'),
        blocks = Ext.get('blocks');
    
    form.addListener('submit', function(e, me){
        e.preventDefault();
    
        var title = me.elements.title.value,
            desc = me.elements.desc.value,
            blockInstance = Ext.create('Block');
    
        blockInstance.setTitle(title);
        blockInstance.setDesc(desc);
    
        var blockElement = blockInstance.create();
        blocks.appendChild(blockElement);
        blockElement.select('.close').addListener('click', function(){
            blockElement.remove();
        });
        me.reset();
    });

    Реализация минимального todo app на ExtJS. Переписывалась с чистого js ради эксперимента.

    DrDre, 15 Мая 2014

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

    +160

    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
    if (deltaLeft == 1) {
    	left -= 16;
    } else if (deltaLeft == 2) {
    	left -= 36;
    } else if (deltaLeft == 3) {
    	left -= 52;
    } else if (deltaLeft == 4) {
    	left -= 68;
    } else if (deltaLeft == 5) {
    	left -= 84;
    } else if (deltaLeft == -1) {
    	left += 16;
    } else if (deltaLeft == -2) {
    	left += 36;
    } else if (deltaLeft == -3) {
    	left += 52;
    } else if (deltaLeft == -4) {
    	left += 68;
    } else if (deltaLeft == -5) {
    	left += 84;
    }
    
    if (deltaTop == 1) {
    	top -= 30;
    } else if (deltaTop == -1) {
    	top += 27;
    } else if (deltaTop == -2) {
    	top += 50;
    } else if (deltaTop == 2) {
    	top -= 55;
    }

    И снова привет передают магические числа.

    kostoprav, 14 Мая 2014

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

    +148

    1. 1
    2. 2
    3. 3
    4. 4
    /**
     * Container for all of your app's parts, which are massively reused
     */
    module.exports = {};

    В недрах одного из многочисленных фреймворков для nodejs...

    strax, 09 Мая 2014

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    var image_src = '';
        try {
            image_src = window.location.origin.toString() + document.images[0].attributes.src.value.toString();
        } catch (e) {
            
        }
        document.write('<meta property="og:image" content="' + image_src + '" />');
        document.write('<div class="yashare-auto-init" data-yashareL10n="ru" data-yashareQuickServices="yaru,vkontakte,facebook,twitter,odnoklassniki,moimir" data-yashareTheme="counter" data-yashareImage="' + image_src + '" ></div> ');

    хуита, 06 Мая 2014

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

    +130

    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
    class Users : Data
        {
            public int ID { get; set; }
            public string Name { get; set; }
            public int PostID { get; set; }
            public int SubdivID { get; set; }
            public QueryType qType { get; set; }
            public static QueryState qState { get; set; }
            
            /// <summary>
            /// Типы запроса для QueryBuilder
            /// </summary>
            public enum QueryType : int
            {
                Insert = 1,
                Delete,
                Update,
                SelectUsers,
                SelectUser,
                SelectUsersbyName
            }
    
            /// <summary>
            ///  Статусы открытия формы (добавление или редактирование)
            /// </summary>
            public enum QueryState : int
            {
                Insert = 1,
                Update
            }
    
            public Users()
            {
                ID = -1;
                Name = null;
            }
    
            /// <summary>
            /// Формирует запрос на основе значения переменной qType и осуществляет выборку данных
            /// </summary>
            public void QueryBuilder()
            {
                switch (qType)
                {
                    case QueryType.SelectUsers:
                        {
                            QueryText = "Select Users.ID, Users.Name, Posts.Name, Subdivisions.Name from Users, Posts, Subdivisions Where Users.SubdivID = subdivisions.ID and Users.PostID = Posts.ID";
                            Select();
                            break;
                        }
                    case QueryType.SelectUser:
                        {
                            if (ID != -1)
                            {
                                QueryText = "Select Users.ID, Users.Name, Posts.Name, Subdivisions.Name, Posts.ID, Subdivisions.ID From Users, Posts, Subdivisions " +
                                            " Where Users.SubdivID = subdivisions.ID and Users.PostID = Posts.ID and Users.ID = " + ID;
                                SelectRow();
                            }
                            else
                            {
                                MessageBox.Show("ID пользователя не найден");
                            }
                            break;
                        }
                    case QueryType.Insert:
                        {
                            QueryText = "Insert Into Users(Name, PostID, SubdivID) Values('" + Name + "', '" + PostID + "', '" + SubdivID + "')";
                            InsertRecord();
                            break;
                        }
                    case QueryType.Delete:
                        {
                            QueryText = "Delete From Users Where ID = " + ID;
                            DeleteRecord();
                            break;
                        }
                    case QueryType.Update:
                        {
                            QueryText = "Update Users set Name = '" + Name + "', PostID = '" + PostID + "', SubdivID = '" + SubdivID + "'  Where ID = " + ID;
                            UpdateRecord();
                            break;
                        }
                    case QueryType.SelectUsersbyName:
                        {
                            QueryText = "Select Users.ID, Users.Name, Posts.Name, Subdivisions.Name from Users, Posts, Subdivisions " +
                                        "Where Users.SubdivID = subdivisions.ID and Users.PostID = Posts.ID and Users.Name like " + "'%" + Name + "%'";
                            Select();
                            break;
                        }
                }
            }

    15856 Продолжение...

    Ate1st, 28 Апреля 2014

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // Заполняем листы целиком одним махом. Что бы про PHP ни говорили, он весьма крут.
    $curr_griddles = array_merge($curr_griddles, array_fill(0, $gqty, array('total_qty' => $piesPerList, $pieId => $piesPerList)));
                                    
       ...
    
    // Выбираем наименее загруженного работника. А вот тут PHP демонстрирует корявость. Правда непонятно, мою или свою...
    asort($workersLoad); reset($workersLoad); $kv = each($workersLoad); $workerId = $kv['key'];

    DIX315, 25 Апреля 2014

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

    +143

    1. 1
    CFGDBFACADOEBFAAAACOABAOBBGAAODBFADCCCFDOGDACCOGAAAAAACOBDBGAAOCBGDEBDFDADGCBEDAABCOBEECBDAOECFCCFCCEOBDOAABDFOAOBDBOBGOBDBBEECBBAOOBADBADAEGAOCBEFAABCFDBGOAFGBGEBBDBBGBBGBEACOOACAAABCBDADGACAAABDOOAAFCBBDBODCBDFDCBEDAAACEAGACFDCADDFOBCCBOBDGEDEFBAAAABDAACDBDGODGBCBBDCOAEGAOBAEFBOEDGCCGEDBOCFDBEBBEFAOCACGBFEAAEBGFDOBCAADACAAECGEAABDBFACGBGECEGCDADBFACGABOCGGDFEABOCOGCFGCOAAAAAOEAAABGECCODAD

    "Змейка" в машинных кодах на системе счисления wct. WctEditor - http://yadi.sk/d/i9Me1IQ7MbHCD.

    Mobac, 24 Апреля 2014

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