1. C# / Говнокод #16063

    +136

    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
    // Определить тип ОС
       string OSVersion = null;
       try
       {
        try
        {
         OSVersion = Microsoft.Win32.Registry.GetValue(@"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\", "ProductName", "").ToString();
        }
    
        catch (NullReferenceException)
        {
        OSVersion = "";
        }
       }
       
       catch (SecurityException)
       {
        OSVersion = "";
       }
    
       finally {} // иначе при вложенном try ошибка

    Говницо собственного производства, когда учился программировать на первой работе.

    Smekalisty, 27 Мая 2014

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

    +162

    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
    switch ($Age){
    	case "30-35 лет" : $Age="30-35 лет";	break;
    	case "35-40 лет" : $Age="35-40 лет";	break;
    	case "40-45 лет" : $Age="40-45 лет";	break;
    	case "45-50 лет" : $Age="45-50 лет";	break;
    	case "50-55 лет" : $Age="50-55 лет";	break;
    	}
    switch ($Driving){
    	case "10-15 лет" : $Driving="10-15 лет";	break;
    	case "20-25 лет" : $Driving="20-25 лет";	break;
    	case "25-30 лет" : $Driving="25-30 лет";	break;
    	case "30-35 лет" : $Driving="30-35 лет";	break;
    	}
    	
    switch ($Register){
    	case "не в Москве" : $Register="не в Москве";	break;
    	case "Авиамоторная" : $Register="Авиамоторная";	break;
    	case "Автозаводская" : $Register="Автозаводская";	break;
    	case "Академическая" : $Register="Академическая";	break;
    	case "Александровский сад" : $Register="Александровский сад";	break;
    	case "Алексеевская" : $Register="Алексеевская";	break;
    	case "Алтуфьево" : $Register="Алтуфьево";	break;

    И так далее все станции...
    Кто-нить понимает зачем? Программисту платили за количество строк?

    aaparin, 27 Мая 2014

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

    +16

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    std::string response;
    ...
    char* result = new char[response.size() + 1];
    memcpy(&result[0], &response.c_str()[0], response.size());
    result[response.size()] = 0;
    return result;

    Сам метод возвращает char * (при этом никто не запрещал использовать непосредственно std::string).

    ЗЫ жаль что весь проект запостить нельзя. Он весь достоин.

    h4tr3d, 27 Мая 2014

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /**
     * Returns the number of rows affected by the last query
     *
     * @return int
     */
    public function getAffectedRowCount($result)
    {
    	return mysqli_affected_rows($this->getDatabase());
    }

    SugarCRM. Стоит от $35/месяц на одного пользователя.

    Понимаю когда такое встречатеся в стартапах, но когда ты просишь за свой продукт деньги и деньги не малые, то выпускать такое в продакшен... Лично я бы постеснялся.

    VanSanblch, 27 Мая 2014

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

    +151

    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
    for($page = 0 ; $page <= $maxPage; $page ++) {
    	$result = LoadPage($page);
    	if(!$result) {
    		if($try < 5) {
    			$page --;
    			$try ++;
    		} else
    			$try = 0;
    	} else {
    		$try = 0;
    		ProcessPage($page, $result);
    	}
    }

    два цикла по цене одного

    clauclauclau, 26 Мая 2014

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

    +131

    1. 1
    2. 2
    3. 3
    Property Documentation
    antennaConnected : int
    This property is true if there is an antenna connected. Otherwise it will be false.

    Выдержка из Qt Multimedia

    laMer007, 25 Мая 2014

    Комментарии (20)
  7. Java / Говнокод #16057

    +75

    1. 1
    cooldownTime.add(14, (int)(cooldown * 1000.0D % 1000.0D));

    ...

    Jampire, 25 Мая 2014

    Комментарии (17)
  8. Pascal / Говнокод #16056

    +83

    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
    var
      ABuffer: PAnsiChar;
      AText: PAnsiChar;
      BBuffer: PAnsiChar;
    begin
      ABuffer := 'TEST';
      BinToHex(ABuffer, AText, Length(ABuffer));
      ShowMessage(AText);
      ShowMessage(IntToStr(Length(AText)));
      GetMem(BBuffer, Length(AText) div 2);
      HexToBin(AText, BBuffer, Length(AText) div 2);
      BBuffer[Length(BBuffer) - 1] := #0;
      ShowMessage(IntToStr(SizeOf(BBuffer)));
      ShowMessage(BBuffer);
      FreeMem(BBuffer);
    end;

    http://www.sql.ru/forum/653685/bintohex-i-hextobin-delphi2009
    Возможно, я ошибаюсь, но по-моему код - лажа; насколько я понимаю, указатель "AText: PAnsiChar;" всего лишь УКАЗАТЕЛЬ, под него нигде в коде не выделяется память, автор юзает его как простую переменную.
    И никто его не поправил. Вроде думающие люди.

    brutushafens, 25 Мая 2014

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

    +17

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    io_service::strand strand_one(service), strand_two(service);
    for (int i = 0; i < 5; ++i)
        service.post(strand_one.wrap(boost::bind(func, i)));
    for (int i = 5; i < 10; ++i)
        service.post(strand_two.wrap(boost::bind(func, i)));

    Пример из книги Boost.Asio C++ Network Programming.

    In the preceding code, we made sure that the first five and the last five were serialized namely, "func called, i = 0" is called before "func called, i = 1", which is called before "func called, i = 2", and so on. The same goes for "func called, i = 5", which is called before "func called, i = 6", and "func called, i = 6" is called before "func called, i = 7", and so on.

    "А вот хуй тебе!", - сказал четырёхъядерный процессор, и выполнил коллбеки внутри strand'ов в случайном порядке.

    bormand, 25 Мая 2014

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

    +11

    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
    QString Factory::lifeEqual(WidgetEnum::SearchWidgetSet param) {
        switch (param) {
        case WidgetEnum::station:
            return "Станция";
        case WidgetEnum::water_area:
            return "Акватория";
        case WidgetEnum::station_coordinates:
            return "Координаты станции";
        case WidgetEnum::volume_of_filtered_water:
            return "Объем отфильтрованной воды";
        case WidgetEnum::chlorophyll_a_concentration:
            return "Концентрация хлорофила а";
        case WidgetEnum::chlorophyll_b_concentration:
            return "Концентрация хлорофила b";
        case WidgetEnum::chlorophyll_c_concentration:
            return "Концентрация хлорофила c";
        case WidgetEnum::A665k:
            return "A(665k";
        case WidgetEnum::pigment_index:
            return "Индекс пигмента";
        case WidgetEnum::pheopigments:
            return "Феопигменты";
        case WidgetEnum::upholding_sample_time:
            return "Время выдержки образца";
        case WidgetEnum::concetrated_sample_volume:
            return "Объемная концентрация образца";
        case WidgetEnum::cameras_viewed_number:
            return "Качество камеры";
        case WidgetEnum::total:
            return "Общая численость";
        case WidgetEnum::total_species:
            return "Число видов в пробе";
        case WidgetEnum::total_biomass:
            return "Общая биомасса";
        case WidgetEnum::total_percent:
            return "Итоговый процент";
        case WidgetEnum::biomass_percent:
            return "Процент биомасс";
        case WidgetEnum::percentage_of_total:
            return  "Процент от общего числа";
        case WidgetEnum::percentage_of_the_total_biomass:
            return "Процент от общего числа биомассы";
        case WidgetEnum::number:
            return "Номер";
        case WidgetEnum::biomass:
            return "Биомасса";
        case WidgetEnum::total_species_in_group:
            return "Всего видов в группе";
        case WidgetEnum::name:
            return "Название";
        case WidgetEnum::name_alt:
            return "Альтернативное название";
        case WidgetEnum::name_rus:
            return "Русское название";
        case WidgetEnum::fishing_gear:
            return "Рыболовный аппарат";
        case WidgetEnum::assessment_of_zooplankton:
            return "Оценка зоопланктона";
        case WidgetEnum::date:
            return "Дата";
        case WidgetEnum::Station_water_area:
            return "";
        case WidgetEnum::groupsOfPh_name:
            return "Название группы";
        case WidgetEnum::groups:
            return "Вид";
        case WidgetEnum::error:
            return "errorA";
        case WidgetEnum::chlorinity:
            return "chlorinity";
        case WidgetEnum::density:
            return "density";
        case WidgetEnum::volume:
            return "volume";
        case WidgetEnum::o2_mg_l:
            return "o2_mg_l";
        case WidgetEnum::o2_ml_l:
            return "o2_ml_l";
        case WidgetEnum::bod5:
            return "bod5";
        case WidgetEnum::ph:
            return "ph";
        case WidgetEnum::alk:
            return "alk";
        case WidgetEnum::no2:
            return "no2";
        case WidgetEnum::no3:
            return "no3";
        case WidgetEnum::total_n:
            return "total_n";
        case WidgetEnum::po4:
            return "po4";
        case WidgetEnum::total_p:
            return "total_p";
        case WidgetEnum::si:
            return "si";
    And etc.....

    В таком духе имеется строк 300, и если бы выход здравого смысла из спячки и наличие базы данных, 50 строчек которыми все это стало, с течением времени могло бы превратиться в 1000 строк, если не больше.
    И хоть это банальный гавногод, жалко трудов и времени на него затраченных. А так хоть канет в бездне говногода, а не в бездне моего винта.

    smith599, 25 Мая 2014

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