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

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

    +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
    class TM
    {
        function TM()
        {
             $this->startBuffering();
             register_shutdown_function(array($this, 'endBuffering'));
        }
     
        public function startBuffering()
        {
            ob_start();
        }
     
        public function endBuffering()
        {
            if(ob_get_level() > 1)
            {
                $data = ob_get_contents();
                ob_end_clean();
                
                $this->insertBufferedContent($data);
                
                echo $data;
            }
        }
     
        function insertBufferedContent(&$data)
        {
            if(!empty($this->buffered))
            {
                foreach($this->buffered as $contentID => $contentData)
                {
                    $search[] = ' <!--'.$contentID.'--> ';
                }
     
                $data = str_replace($search, $this->buffered, $data);
            }
        }
     
        function showBuffered($contentID)
        {
            if(ob_get_level() > 1)
            {
                echo '<!--'.$contentID.'-->';
            }
        }
        
        function setBuffered($contentID, $data)
        {
            $this->buffered[$contentID] = $data;
        }
    }
    
    $tm = new TM();

    даже комментировать не хочется

    Взято отсюда:
    http://blog.kpitv.net/article/how-to-set-title/
    Автор:
    http://govnokod.ru/user/13961

    dead_star, 09 Июня 2016

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

    +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
    <name>customer_language_iso</name>
                          <value>
                            <string>en</string>
                          </value>
                        </member>
                      </struct>
                    </value>
                  </data>
                </array>
              </value>
            </data>
          </array>
        </value>
      </param>
    </params>

    За 7 лет в туризме ни разу не видел человеческого api.
    Страшнющие нечитабельные SOAP, фантастическая вложенность, json внутри xml, время ответа доходит до нескольких минут и прочее, прочее.

    tablecell, 07 Июня 2016

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

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    // on every year that is evenly divisible by 4
    // except every year that is evenly divisible by 100
    // unless the year is also evenly divisible by 400
    pub fn is_leap_year(year: usize) -> bool {
        match ((year % 4), (year % 100), (year % 400)) {
            (0, 0, 0) => true,
            (0, 0, _) => false,
            (0, _, _) => true,
            (_, _, _) => false,
        }
    }

    Интересный способ использовать сопоставление с образцом.

    PS
    Добавьте плиз Rust.

    gorthauer87, 07 Июня 2016

    Комментарии (20)
  5. C++ / Говнокод #20047

    +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
    bool  Object::DeleteDouble(void* data)
        {
            Element* rc = Head;
            BANKCLIENT* asd = (BANKCLIENT*)rc->Data;
            int dbl;
            Element* rc1 = Head;
            BANKCLIENT* asd1 = (BANKCLIENT*)rc1->Data;
            while ((rc != NULL) && (rc->Data != data))
            {
                asd = (BANKCLIENT*)rc->Data;
                dbl = asd->NumScore;
                while ((rc1 != NULL) && (rc1->Data != data))
                {
                    asd1 = (BANKCLIENT*)rc1->Data;
                    if (dbl == asd1->NumScore)
                    {
                        std::cout << "Дублирующийся элемент удалён" << std::endl;
                        Delete(rc1);
                        goto flag;
                    }
                }
            }
        flag:
            system("pause");
            return rc;
        }

    Некая svetlana.kotik раскрывает секреты односвязных списков.

    Fluttie, 20 Мая 2016

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

    +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
    function pluralize($num) {
            switch ($num) {
                case 1:
                case 21:
                    $word = "товар";
                    break;
                case 2:
                case 3:
                case 4:
                case 22:
                case 23:
                case 24:
                case 32:
                case 33:
                case 34:
                    $word = "товара";
                    break;
                default:
                    $word = "товаров";
                    break;
            }
            return $word;
    }

    На продакшене.

    dgkj, 18 Мая 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(!empty($arResult["PostToShow"]["SPERM"]))
    {
    	$arResult["PostToShow"]["FEED_DESTINATION"]['SELECTED'] = Array();
    	if (empty($arResult["PostToShow"]["SPERM"]))
    	{

    Проверка в битриксовском стандартном компоненте

    govnopis, 16 Мая 2016

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

    +3

    1. 1
    https://github.com/3dfxdev/hyper3DGE/commit/bdc2d2309a24f5f729c07cdf386ecaa75403c980

    Куча километров кода сокращена в пару строчек. Нафиг тогда было писать ту кучу километров?

    UsernameAK, 12 Мая 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for(;++i <= n && std::cin >> a;)
    		if(a >= 1.0 && ++bigger && std::cout << i << ' ');
    		else
    			if(mx < a)
    				mx = a,
    				maxi = i;

    Решил сдать задачи на cf, в итоге выдавил из себя вот такой вот цикл.
    Очень лень было ставить скобочки.

    hoholok, 30 Апреля 2016

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

    +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
    function captcha_answer (res) {
    	if (res.email == 0) {
    		$('#email').css('border','1px solid #C5C5C5');
    		$(".email").text("");
    		$(".email").hide();
    	}
    	if (res.email == 1) {
    		$('#email').css('border','1px solid red');
    		$(".email").text("E-mail слишком короткий");
    		$(".email").show();
    	}
    	if (res.email == 2) {
    		$('#email').css('border','1px solid red');
    		$(".email").text("E-mail слишком длинный");
    		$(".email").show();
    	}
    	if (res.email == 3) {
    		$('#email').css('border','1px solid red');
    		$(".email").text("Некорректный E-mail");
    		$(".email").show();
    	}
    	if (res.email == 4) {
    		$('#email').css('border','1px solid red');
    		$(".email").text("E-mail занят");
    		$(".email").show();
    	}
    	
    	if (res.nickname == 0) {
    		$('#nickname').css('border','1px solid #C5C5C5');
    		$(".nickname").text("");
    		$(".nickname").hide();
    	}
    	if (res.nickname == 1) {
    		$('#nickname').css('border','1px solid red');
    		$(".nickname").text("Ник слишком короткий");
    		$(".nickname").show();
    	}
    	if (res.nickname == 2) {
    		$('#nickname').css('border','1px solid red');
    		$(".nickname").text("Ник слишком длинный");
    		$(".nickname").show();
    	}
    	if (res.nickname == 3) {
    		$('#nickname').css('border','1px solid red');
    		$(".nickname").text("Ник занят");
    		$(".nickname").show();
    	}
    	
    	if (res.password_1 == 0) {
    		$('#password_1').css('border','1px solid #C5C5C5');
    		$(".password_1").text("");
    		$(".password_1").hide();
    	}
    	if (res.password_1 == 1) {
    		$('#password_1').css('border','1px solid red');
    		$(".password_1").text("Пароль слишком короткий");
    		$(".password_1").show();
    	}
    	if (res.password_1 == 2) {
    		$('#password_1').css('border','1px solid red');
    		$(".password_1").text("Пароль слишком длинный");
    		$(".password_1").show();
    	}
    	
    	if (res.password_2 == 0) {
    		$('#password_2').css('border','1px solid #C5C5C5');
    		$(".password_2").text("");
    		$(".password_2").hide();
    	}
    	if (res.password_2 == 1) {
    		$('#password_2').css('border','1px solid red');
    		$(".password_2").text("");
    		$(".password_2").show();
    	}
    	if (res.password_2 == 2) {
    		$('#password_2').css('border','1px solid red');
    		$(".password_2").text("Пароли не совпадают");
    		$(".password_2").show();
    	}
    };

    Есть скрипт, он аяксом посылает запрос на страницу, скрипт "отвечает" в формате json, ответы типа {"email":"1"} а вот это собственно "расшифровка" ответов :)

    slowpoke59rus, 27 Апреля 2016

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

    +3

    1. 1
    2. 2
    3. 3
    setTimeout(function() {
        $('#kostyl').click().click();
    }, 2000);

    Применить сортировку по этому столбцу в таблице после её подгрузки и отработки жс, который строит эту таблицу.

    deep, 26 Апреля 2016

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