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

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

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    {{#ifexpr:{{{1|0}}}<=1|{{ {{{2|}}}|{{#expr:{{{1|1}}}+{{{3}}} }} }}|{{Numbered sequence/1|{{#expr:floor ({{{1|0}}}/2)}}|{{{2|}}}|{{{3}}} }}{{Numbered sequence/1|{{#expr:-floor (-{{{1|0}}}/2)}}|{{{2|}}}|{{#expr:floor ({{{1|0}}}/2)+{{{3}}} }} }} }}
    
    {{#ifexpr:{{{1|0}}}<=1|{{ {{{2|}}}|{{#expr:{{{1|1}}}+{{{3}}} }} }}|{{Numbered sequence/2|{{#expr:floor ({{{1|0}}}/2)}}|{{{2|}}}|{{{3}}} }}{{Numbered sequence/2|{{#expr:-floor (-{{{1|0}}}/2)}}|{{{2|}}}|{{#expr:floor ({{{1|0}}}/2)+{{{3}}} }} }} }}
    ...
    {{#ifexpr:{{{1|0}}}<=1|{{ {{{2|}}}|{{#expr:{{{1|1}}}+{{{3}}} }} }}|{{Numbered sequence/9|{{#expr:floor ({{{1|0}}}/2)}}|{{{2|}}}|{{{3}}} }}{{Numbered sequence/9|{{#expr:-floor (-{{{1|0}}}/2)}}|{{{2|}}}|{{#expr:floor ({{{1|0}}}/2)+{{{3}}} }} }} }}
    
    {{#ifexpr:{{{1|0}}}<=1|{{ {{{2|}}}|{{#expr:{{{1|1}}}+{{{3}}} }} }}|<span style="color:red">Превышено количество включений — 1024</span>}}

    Циклы нельзя, никаких переменных нельзя, только параметры. Казалось бы, ничего страшного — так и рекурсии тоже нельзя!

    tucvbif, 29 Января 2016

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

    −94

    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
    Если СтрокаТаблицы.ЗакрытьДоговор = Истина Тогда
    			СтарыйЭлемент = Справочники.ДоговорыКонтрагентов.НайтиПоКоду(СтрокаТаблицы.Договор.Код).ПолучитьОбъект();
    			СтарыйЭлемент1 = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(СтрокаТаблицы.Договор.Наименование).ПолучитьОбъект();
    			Если СтарыйЭлемент.Наименование <> СтарыйЭлемент1.Наименование Тогда
    				СтарыйЭлемент = СтарыйЭлемент1;
    			Иначе
    				СтарыйЭлемент = СтарыйЭлемент;
    			КонецЕсли;
    			СтарыйЭлемент.мфоДатаЗакрытия = Дата;
    		Иначе
    
    			СтарыйЭлемент = Справочники.ДоговорыКонтрагентов.НайтиПоКоду(СтрокаТаблицы.Договор.Код).ПолучитьОбъект();
    			СтарыйЭлемент1 = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(СтрокаТаблицы.Договор.Наименование).ПолучитьОбъект();
    			Если СтарыйЭлемент.Наименование <> СтарыйЭлемент1.Наименование Тогда
    				СтарыйЭлемент = СтарыйЭлемент1;
    			Иначе
    				СтарыйЭлемент = СтарыйЭлемент;
    			КонецЕсли;
    			СтарыйЭлемент.мфоДатаЗакрытия = Дата("00010101");
    		КонецЕсли;
    		СтарыйЭлемент.Записать();

    Крайне сильное колдунство :) Все те же аутсорсеры :)

    planaric, 27 Января 2016

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

    +3

    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
    function getBounds(curve) {
        var px;
        var py;
        var qx;
        var qy;
        var rx;
        var ry;
        var sx;
        var sy;
        var tx;
        var ty;
        var tobx;
        var toby;
        var tocx;
        var tocy;
        var todx;
        var tody;
        var toqx;
        var toqy;
        var torx;
        var tory;
        var totx;
        var toty;
        var step;
        var x;
        var y;
        var minX;
        var minY;
        var maxX;
        var maxY;
        var ax = curve[0].x;
        var ay = curve[0].y;
        var bx = curve[1].x;
        var by = curve[1].y;
        var cx = curve[2].x;
        var cy = curve[2].y;
        var dx = curve[3].x;
        var dy = curve[3].y;
        var ITERATIONS_COUNT = 250;
    
        minX = minY = Number.POSITIVE_INFINITY;
        maxX = maxY = Number.NEGATIVE_INFINITY;
    
        tobx = bx - ax;
        toby = by - ay;
        tocx = cx - bx;
        tocy = cy - by;
        todx = dx - cx;
        tody = dy - cy;
        step = 1 / ITERATIONS_COUNT;
    
        for (var i = 0; i < ITERATIONS_COUNT; i++) {
            var d = i * step;
            px = ax + d * tobx;
            py = ay + d * toby;
            qx = bx + d * tocx;
            qy = by + d * tocy;
            rx = cx + d * todx;
            ry = cy + d * tody;
            toqx = qx - px;
            toqy = qy - py;
            torx = rx - qx;
            tory = ry - qy;
    
            sx = px + d * toqx;
            sy = py + d * toqy;
            tx = qx + d * torx;
            ty = qy + d * tory;
            totx = tx - sx;
            toty = ty - sy;
    
            x = sx + d * totx;
            y = sy + d * toty;
    
            minX = Math.min(minX, x);
            minY = Math.min(minY, y);
            maxX = Math.max(maxX, x);
            maxY = Math.max(maxY, y);
        }
    
        return {
            x: minX,
            y: minY,
            width: maxX - minX,
            height: maxY - minY
        };
    }

    Хорошей функции должно быть много

    ivasilev, 19 Января 2016

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

    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
    $l_data["comm_text"] = $mail_body;
    				$l_var = implode(",", $l_var);
    				$l_path = "root->mail->".$l_group_id."->".$l_uuid."->[".$l_var.",group_name,comm_text]";
    				
    				$this->engine->smartquery->create( $l_path );
    				$this->engine->smartquery->setdata( $l_path, $l_data );
    
    				if ($this->engine->var->get("comm_subscribe") == 1 && defvar($this->engine->var->get("comm_email"),"") != "")
    				{
    				
    
    					$l_result = $this->engine->smartquery->getdata( "root->clients->(list)->[*]"," and `comm_email`='".$this->engine->var->get("comm_email")."' ");
    					$l_result = $l_result->getall();
    					
    					if (count($l_result) == 0)
    					{
    						//Создать группу если отсутствует
    						$l_data = array();
    						$l_data["comm_fio"] = $this->engine->var->get("comm_fio");
    						$l_data["comm_email"] = defvar($this->engine->var->get("comm_email"),"");
    						$l_data["comm_phone"] = defvar($this->engine->var->get("comm_phone"),"");
    						$l_data["comm_formid"] = $l_group_id;
    						$l_data["comm_formname"] = defvar($config["mail.communication".$l_group_id.".subj"],"");
    						
    						$l_var = implode(",", array_keys($l_data));
    						$l_uuid = mktime();
    						$l_path = "root->clients->".$l_uuid."->[".$l_var."]";
    
    						
    						$this->engine->smartquery->create( $l_path );
    						$this->engine->smartquery->setdata( $l_path, $l_data );
    					}
    					
    				}

    Это код из одного "супер" движка мало того что тут используется дибильный шаблонизатор, тут используется просто еб*нутый класс для работы с базой данных....
    Не знаю что автор хотел оптимизировать этим классом, но простая вставка данных в таблицу тут занимает целых два метода 1-ый($this->engine->smartquery->create) создает таблицу(если ее нет и пустую строку), второй только собственно осуществляет вставку в эту строку данных($this->engine->smartquery->setdata)

    cowrvalera, 13 Января 2016

    Комментарии (2)
  6. PHP / Говнокод #19298

    +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
    # Проверка массива
    if ($_POST) {
        # Проверка Категории
        if ($_POST['category'] > 0) {
            # Отображение на главной
            if ($_POST['main'] == "0" || $_POST['main'] == "1") {
                # Șмя товара
                if ($_POST['item'] != "") {
                    # Описание товара
                    if ($_POST['body'] != "") {
                        # Картинка товара
                        if ($_POST['image'] != "") {
                            # Цены на товар
                            if ($_POST['price'] != "") {
                                  ...
                            }
                        }
                    }
                }
            }
        }
    }

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

    mikamika83, 13 Января 2016

    Комментарии (2)
  7. PHP / Говнокод #19291

    +4

    1. 1
    <?= rand(1, 2) == 3 ? '<img src="/assets/img/icons/icon_organic.png">' : ''; ?>

    tazzadar, 12 Января 2016

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

    +3

    1. 1
    .main_page_desktop .menu_home .menu_home_banner .catalog_home_banner .catalog__product:nth-child(1) a:hover .catalog__product_img:after {width: 40%;left: 27%;}

    Верстаем по методологии БЭМ, не разобрашись в сути

    AntonMMF, 25 Декабря 2015

    Комментарии (2)
  9. JavaScript / Говнокод #19212

    +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
    function myRandom (from, to)  {return Math.floor((Math.random() * (to - from + 1)) + from);}
    function perehod(a,b,c){
        var cmdname="event";
        var cmdtime=a;
        var cmdparam="a;link;<getvar(host)>;click;-1";
        alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
    
        var cmdname="link";
        var cmdtime=myRandom(b,c);
        var cmdparam="last;0";
        alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
    
       var cmdname="script";
        var cmdtime=myRandom(1,3);
        var cmdparam="window.scrollTo(<rndr(100:500)>,<rndr(50:1000)>);";
        alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
    
        var cmdname="script";
        var cmdtime=myRandom(1,3);
        var cmdparam="window.scrollTo(<rndr(100:1000)>,<rndr(50:1500)>);";
        alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
    }
    
    if (m == 1){
        perehod(2, min_t_vr, max_t_vr);
    }
    else if (m == 2){
       perehod(2, min_t_vr, max_t_vr);
       perehod(2, min_t_vr, max_t_vr);
    }
    else if (m == 3){
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
    }
    else if (m == 4){
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
    }
    else if (m == 5){
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
    }
    else if (m == 6){
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
    }
    else if (m == 7){
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
    }
    else if (m == 8){
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
      perehod(2, min_t_vr, max_t_vr);
    }
    // и т.д. до m == 20 (sic!)
    else {
    	perehod(2, 15, 20);
    	perehod(2, 15, 20);
    	perehod(2, 15, 20);
    	perehod(2, 15, 20);
    	perehod(2, 15, 20);
    }

    Циклы? Не, не слышал...

    govnokod-observer, 22 Декабря 2015

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

    +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
    static int Cols (double[,] Arr, out int rows)
    {
    int n = Arr.GetLength(0);
    int m = Arr.GetLength(1);
    rows=0;
    
    int i=0;
    int j=0;
    
    for (; j < m;j++)
    {
    
    i = 0;
    while (i < n-1 & Arr[i, j] < (Arr[i+1 , j]))
    {
    i++;
    }
    if (i == n-1)
    rows++;
    }
    int k = 0;
    i = 0;
    for (; i < n; i++)
    {
    j = 0;
    
    while (j < m-1 & Arr[i, j] < (Arr[i, j+1 ]))
    {
    j++;
    }
    if (j == m - 1)
    k++;
    }
    return k;
    }

    Govno_Coder, 18 Декабря 2015

    Комментарии (2)
  11. JavaScript / Говнокод #19197

    +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
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    $('document,body').on('change','#sprrazmer',function(){
        var dh=calc_dh(this);
        //alert($(this).val());
        filter_ajax(this,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,dh+'px',0);
    });
    $('document,body').on('change','#f_height_10_01',function(){
        var dh=calc_dh(this);
        filter_ajax(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,this,0,0,0,0,0,dh+'px',0);
    });
    $('document,body').on('change','#f_height_11_17_02',function(){
        var dh=calc_dh(this);
        filter_ajax(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,this,0,0,0,0,dh+'px',0);
    });
    
    $('document,body').on('change','#f_height_18_25_03',function(){
        var dh=calc_dh(this);
        filter_ajax(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,this,0,0,0,dh+'px',0);
    });
    
    $('document,body').on('change','#f_height_26_04',function(){
        var dh=calc_dh(this);
        filter_ajax(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,this,0,0,dh+'px',0);
    });
    
    $('document,body').on('change','#f_price_01',function(){
        var dh=calc_dh(this);
        filter_ajax(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,dh+'px',0);
    });

    Web 2.0 ...

    Armen, 17 Декабря 2015

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