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

    В номинации:
    За время:
  2. Куча / Говнокод #24044

    −103

    1. 1
    Вы никогда не мечтали о сексе с грязными волосатыми хачами?

    PaulDenisevich, 31 Марта 2018

    Комментарии (4)
  3. JavaScript / Говнокод #24003

    −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
    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
    buildChartStaffNeed: function() {
    		Stat.staffNeedWithTopIs = [];
    		var levelEducation = $('#level_education_filter').selectpicker('val');
    		var specId = $('#spec_filter').selectpicker('val');
    		var specTitle = $('#spec_filter option:selected').text();
    
    		var filter = JSON.parse(getKeyByUrl('filter'));
    		filter.specialty_id = specId;
    		filter.level_education = levelEducation;
    		$('#stat_detalise').show();
    
    		if (specId) {
    			$.ajax({
    				url: "/index.php/ajax/staff/get_need_by_spec_id/",
    				type: "POST",
    				dataType:'json',
    				data: {filter: JSON.stringify(filter)},
    				success: function(r) {
    
    					var regions = [];
    					var regionPrognosis = [];
    					var staffNeed = r.data.need.staff_need;
    
    					for (var i in staffNeed) {
    						var exist = inArray(staffNeed[i].region_title, regions);
    						if (typeof exist == 'boolean' && exist == false) {
    							regions.push(staffNeed[i].region_title);
    							regionPrognosis.push([0,0,0,0,0,0,0,0,0,0]);
    						}
    					}
    
    					for (var i in staffNeed) {
    						if (typeof inArray(staffNeed[i].region_title, regions) != 'boolean') {
    							var index = inArray(staffNeed[i].region_title, regions);
    							var currPrognoise = staffNeed[i].years_prognoses.split('|');
    							for (var p in currPrognoise) {
    								var cp = currPrognoise[p].split('-');
    								regionPrognosis[index][p] += cp[1] * 1;
    							}
    						}
    					}
    
    					var regionsHtmlBody = '';
    					for (var i in regions) {
    						regionsHtmlBody += "<tr>";
    						regionsHtmlBody += "<td>"+ incrementNum(i) +"</td>";
    						var regionTitle = regions[i] == null ? 'Не определено' : regions[i];
    						regionsHtmlBody += "<td>"+ regionTitle +"</td>";
    						for (var p in regionPrognosis[i]) {
    							regionsHtmlBody += "<td>"+  regionPrognosis[i][p] +"</td>";
    						}
    						regionsHtmlBody += "</tr>";
    					}
    
    					$('#spec_subjects').find('tbody').html(regionsHtmlBody);
    
    					var allCount = [0,0,0,0,0,0,0,0,0,0];
    
    					for (var i in regionPrognosis) {
    						for (var j in regionPrognosis[i]) {
    							allCount[j] += regionPrognosis[i][j];
    						}
    					}
    
    					var allHtml = '<tr><td></td><td><b>Всего:</b></td>';
    					for (var i in allCount) {
    						allHtml += '<td><b>' + allCount[i] + '</b></td>';
    					}
    					allHtml += '</tr>';
    
    					$('#spec_subjects').find('tbody').append(allHtml);
    
    					var industrys = [];
    					var industryPrognosis = [];
    					for (var i in staffNeed) {
    						var exist = inArray(staffNeed[i].industry_title, industrys);
    						if (typeof exist == 'boolean' && exist == false) {
    							industrys.push(staffNeed[i].industry_title);
    							industryPrognosis.push([0,0,0,0,0,0,0,0,0,0]);
    						}
    					}
    
    					for (var i in staffNeed) {
    						if (typeof inArray(staffNeed[i].industry_title, industrys) != 'boolean') {
    							var index = inArray(staffNeed[i].industry_title, industrys);
    							var currPrognoise = staffNeed[i].years_prognoses.split('|');
    							for (var p in currPrognoise) {
    								var cp = currPrognoise[p].split('-');
    								industryPrognosis[index][p] += cp[1] * 1;
    							}
    						}
    					}

    nir007, 26 Марта 2018

    Комментарии (4)
  4. Ruby / Говнокод #23944

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    @requests  = Request.where(instrument_id: 1).where("state_id not in (12,3,5,8,13,15,4)").where(id: current_user.arr_request_services).order(priority_id: :desc, updated_at: :desc, id: :desc) #.page(params[:page]).per_page(20)
            @requests1 = Request.where(instrument_id: 1).where(locked_by: current_user).where("state_id not in (12,3,5,8,13,15,4)").order(priority_id: :desc, updated_at: :desc, id: :desc)
            @requests2 = Request.where(instrument_id: 1).where(author_id: current_user.id).where("state_id not in (12,3,5,8,13,15,4)").order(priority_id: :desc, updated_at: :desc, id: :desc)
            @requests3 = Request.where(instrument_id: 1).where(owner_id: current_user.id).where("state_id not in (12,3,5,8,13,15,4)").order(priority_id: :desc, updated_at: :desc, id: :desc)
            @requests  = (@requests + @requests1 + @requests2 + @requests3).uniq

    Что это ?

    eggshke, 17 Марта 2018

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

    0

    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
    <?php
    
    $zero = '!![]';
    $nums = ['![]','${![]}','${!![]}','$${[]}','$${![]}','$${!![]}','$$${[]}','${[].[]}'];
    $initChr = "\${[]}=([].[])[![]+![]+![]];\${[]}++;\${[]}++;\${+![]}=\${[]};" .
    "\${[]}++;\${[]}++;\${[]}++;\${[]}++;\${[]}++;\${+![]}.=\${[]};" .
    "\${[]}=\${+![]}.([].[])[![]];";
    $chr = '${[]}';
    
    function initNumbers() {
        global $nums;
        $n = $nums[0];
        $code  = '';
        foreach ($nums as $v => $num) {
            if (!$v) continue;
            $v = join('+', array_fill(0, 2, $n));
            $code .= "$num=$v;";
            $n = $num;
        }
        return $code;
    }
    
    function number($n) {
        global $nums, $zero;
        if ($n < 0 || $n > 255) die("Invalid number: $n.");
        if (!$n) return $zero[0];
        $i = 0;
        while($n) {
            $d = $n % 2;
            if($d) $code[] = join('+', array_fill(0, $d, $nums[$i]));
            $n /= 2;
            $i++;
        }
        return join('+', $code);
    }
    
    function char($c) {
        global $chr;
        $c = number(ord($c));
        return "$chr($c)";
    }
    
    function str($s) {
        return join('.', array_map('char', str_split($s)));
    }
    
    function prettify($fucked) {
        $line = '';
        $ops = preg_split('/([;.])/', $fucked, -1, PREG_SPLIT_DELIM_CAPTURE);
        foreach($ops as $op) {
            if(strlen($line) + strlen($op) + 1 > 80) {
                $lines[] = $line;
                $line = '';
            }
            $line .= $op;
        }
        $lines[] = $line;
        return join("\n", $lines);
    }
    
    function fuckify($code) {
        global $chr, $initChr;
        $nums = initNumbers();
        $php = '$$$${[]}';
        $initPHP = $php . '=(' . str('popen') . ')(' . str('php') . ',' . char('w') . ');';
        $fputs = str('fputs');
        $pclose = str('pclose');
        $code = str($code);
        return prettify("<?php\n$initChr$nums$initPHP($fputs)($php,$code);($pclose)($php);");
    }
    
    $code = '';
    while ($line = fgets(STDIN)) $code .= $line;
    print(fuckify($code));

    Автаматизировала пхпфак почти как в http://govnokod.ru/23690
    програма вводет код пхп из stdin и выводет в stdout его перивод на пхпфак

    HACTEHbKA, 25 Февраля 2018

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

    0

    1. 1
    youtu.be/HdMQqycXi6U?t=13

    Breaking news: найдены уникальные кадры создателя JavaScript в школьные годы.

    dm_fomenok, 15 Февраля 2018

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

    0

    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
    Всем привет, давно же я тут не был.
    А давайте поговорим о Meltdown и Spectre?
    https://meltdownattack.com/
    https://ru.wikipedia.org/wiki/Meltdown_(%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C)
    https://ru.wikipedia.org/wiki/Spectre_(%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C)
    Объясните пожалуйста почему параноики на лоре паникуют и кричат что мол JS код атакующего на сайтах может вызвать одну из этих уязвимостей.
    Ведь:
        1. JS не имеет прямого доступа к памяти.
        2. JS это интерпретируемый ЯП(вызывать мельдоний или спектру нужно на компилируемых ЯП с прямым доступом к памяти: асм/си)
    Параноики с лора совсем *банулись или я чего не понимаю?
    https://www.linux.org.ru/news/security/13934697#comments
    И ещё, что из-за этих уязвимостей измениться у обычных домашних ПК юзверей отказавшихся от патчей за счёт производительности? (Как по мне так ничего)
    Whiskas.

    pl7ofit, 24 Января 2018

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

    0

    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
    mixin template IConvertible(Args...)
    {
        interface IConvertible
        {
            mixin template IConvertiblePrivate(T)
            {
            	T Convert();
            }
        
            mixin template IConvertiblePrivate(TFirst, Args...) 
            {
    	TFirst Convert();
    	mixin IConvertiblePrivate!(Args);
            }
            
            mixin IConvertiblePrivate!(Args);
        };
    }
    
    void main()
    {
       mixin IConvertible!(int, float);
       
       class Number : IConvertible 
       {
       	int Convert() { return 0; }
       	float Convert() { return 0.0; }
       };
    }

    #dlang

    В продолжение темы дженериков и шаблонов

    P.S. Проверочный код: hate

    Desktop, 06 Января 2018

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

    −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
    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
    private void button1_Click(object sender, EventArgs e)
            {
    textBox3.Clear();
    textBox4.Clear();
    
    Stringstr = textBox2.Text;
    String code = textBox1.Text;
    
    int size = str.Length;
    char[] s = newchar[size];
    
    if (size == 0) { textBox4.Text = "Ошибка! Вы не ввели исходный текст для шифрования."; return; }
    
    intsize C = code.Length;
    char[] sC = new char[sizeC];
    
    if (sizeC == 0) { textBox4.Text = "Ошибка! Вы не ввели ключевое слово."; return; }
    
    int[] secret = new int[sizeC];
    int[] string1 = new int[size];
    
    for (inti = 0; i< size; i++)
    s[i] = str[i];
    
    for (inti = 0; i<sizeC; i++)
    sC[i] = code[i];
    
    int j = 0;
    
    for (inti = 0; i<sizeC; i++)
                {
                    j = 0;
    while (j != kolAl)
                    {
    if (sC[i] == Al[j]) { secret[i] = j + 1; break; }
    j++;
                    }
                }
    
    for (inti = 0; i< size; i++)
                {
                    j = 0;
    while (j != kolAl)
                    {
    if (s[i] == Al[j]) { string1[i] = j; break; }
    j++;
                    }
                }
    
    char[] finish = newchar[size];
    int x = 0;
    
    for (inti = 0; i< size; i++)
                {
    if (Al.Length<= string1[i] + secret[x])
                    {
    finish[i] = Al[string1[i] + secret[x] - Al.Length];
                    }
    else { finish[i] = Al[string1[i] + secret[x]]; }
    
    x++;
    
    if (x == secret.Length) x = 0;
    
                    textBox3.Text += finish[i];
                }
                textBox4.Text = "Шифрованиезавершеноудачно!";
            }

    Одногрупница сделала Шифр Вижинера
    https://ru.wikipedia.org/wiki/Шифр_Виженера
    Беда в том, что код тоже представляет из себя шифр.
    Сделал сам, получилось 4 строчки на зашифровку и 4 на расшифровку.
    Я в шоке. Это отличница у нас (4 курс :) *:(*)
    Ладно, это говнище еще можно понять и простить, только там расшифровка функция еще 200 строк, а так же шифровка и расшифровка файла, соответственно по 300 строк. Так и живем.
    Я в академ отпуск.

    GovnoIzJopy, 22 Декабря 2017

    Комментарии (4)
  10. JavaScript / Говнокод #23557

    0

    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
    //функция возвращает название списка товара для аналитики
        getItemListName: function(obj) {
            obj = $(obj);
            var list = 'other';
            if (obj.parents('.AddedToCart__box--showcase').length > 0) {
                list = 'paneAddToCart';
            } else if (obj.parents('.slider').length > 0
                && obj.parents('.slider').find('.sliderHeader').html() == 'Лучшая цена') {
                list = 'paneBestPrice';
            } else if (obj.parents('.slider').length > 0
                && obj.parents('.slider').find('.sliderHeader').html() == 'Цена недели') {
                list = 'paneWeekPrice';
            } else if (obj.parents('.slider').length > 0
                && obj.parents('.slider').find('.sliderHeader').html() == 'Акционные товары') {
                list = 'panePromo';
            } else if (obj.parents('.slider').length > 0
                && obj.parents('.slider').find('.sliderHeader').html() == 'Популярные товары'
                && $('body').hasClass('Page--itemCard')) {
                list = 'panePopDetail';
            } else if (obj.parents('.slider').length > 0
                && obj.parents('.slider').find('.sliderHeader').html() == 'Популярные товары'
                && document.location.pathname.indexOf('/personal/cart/') >= 0) {
                list = 'panePopCart';
            } else if (obj.parents('.slider').length > 0
                && obj.parents('.slider').find('.sliderHeader').html() == 'Популярные товары'
                && $('.Rubric--category').length > 0) {
                list = 'panePopRubrics';
            } else if (obj.parents('.slider').length > 0
                && obj.parents('.slider').find('.sliderHeader').html() == 'Популярные товары') {
                list = 'panePopCatalog';
            } else if (obj.parents('.relatedItem').length > 0
                && obj.parents('.relatedItem').find('.relatedItemsHeader').html() == 'Сопутствующий товар') {
                list = 'relatedCart';
            } else if (obj.parents('.analogues').length > 0 
                && document.location.search.indexOf('REMOVE_CODE') >= 0) {
                list = 'replacements';
            } else if (obj.parents('.analogues').length > 0) {
                list = 'analog';
            } else if (obj.parents('.consumables').length > 0) {
                list = 'consumables';
            } else if (document.location.pathname.indexOf('/search/') >= 0) {
                list = 'search';
            } else if (document.location.pathname.indexOf('/promo/actions/') >= 0) {
                list = 'promo';
            } else if (document.location.pathname.indexOf('/personal/favorite/') >= 0) {
                list = 'favorite';
            } else if (document.location.pathname.indexOf('/personal/remind/') >= 0) {
                list = 'remind';
            } else if (document.location.pathname.indexOf('/personal/order/') >= 0) {
                if (document.location.href.indexOf('plist=Y') >= 0) {
                    list = 'allMyOrder';
                } else {
                    list = 'myOrder';
                }
            } else if (document.location.pathname.indexOf('/services/code/') >= 0) {
                list = 'orderByCode';
            } else if (document.location.pathname.indexOf('/catalog/compare/') >= 0) {
                list = 'compare';
            } else if (document.location.pathname.indexOf('/services/cartridges/') >= 0) {
                list = 'cartridge';
            } else if (document.location.pathname.indexOf('/promo/best_price/') >= 0) {
                list = 'bestPrice';
            } else if (document.location.pathname.indexOf('/promo/sale/') >= 0) {
                list = 'sale';
            } else if (document.location.pathname.indexOf('/catalog/novelty/') >= 0) {
                list = 'novelty';
            } else if (document.location.pathname.indexOf('/services/sets/') >= 0) {
                list = 'collections';
            } else if (document.location.pathname.indexOf('/catalog/brands/') >= 0) {
                list = 'brands';
            } else if (obj.parents('.listItemsContainer').length > 0
                && document.location.search.indexOf('REMOVE_CODE') >= 0) {
                list = 'replacements';
            } else if (obj.parents('.listItemsContainer').length > 0) {
                list = 'catalog';
            } else if ($('body').hasClass('Page--itemCard')) {
                list = 'detail';
            }
    
            return list;
        },

    Объект-обертка над Гугл аналитикой
    Написано старшим программистом

    _copy_of, 20 Ноября 2017

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    ВЫБРАТЬ
      SEO.титл КАК Титл,
      SEO.Описание КАК дескриптионс,
      SEO.Кейворд КАК Кейворд,
      SEO.Ссылка КАК сео
    ИЗ
      Справочник.SEO КАК SEO

    импортозамещение...

    OdinAsss, 14 Ноября 2017

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