1. Си / Говнокод #17745

    +138

    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
    typedef enum { SUCCESS = 0, NOTNUMBER = 1, BOUNDS = 2, EOFREACHED = 3 } rdstat_t;
    
    int flush_line(FILE *stream) {
      int ch;
      do {
        ch = fgetc(stream);
      } while (ch != EOF && ch != '\n');
      return ch;
    }
    
    /* enough to contain (1 + length of ASCII string of SIZE_MAX
       decimal representation) characters */
    #define SIZE_T_BUF_SIZE 100
    
    /* reads until newline or EOF, writes (size_t *out) if success */
    rdstat_t read_size_t(FILE *stream, size_t *out) {
      char str_SIZE_MAX[SIZE_T_BUF_SIZE];
      snprintf(str_SIZE_MAX, SIZE_T_BUF_SIZE, "%zu", SIZE_MAX);
     
      char buf[SIZE_T_BUF_SIZE];
      if (!fgets(buf, SIZE_T_BUF_SIZE, stream)) 
        return EOFREACHED;
      if (buf[strlen(buf) - 1] != '\n') {
        flush_line(stream);
        return NOTNUMBER;
      }
    
      buf[strlen(buf) - 1] = 0;
      char *ch;
      for (ch = buf; *ch; ++ch)
        if (!isdigit(*ch)) 
          return NOTNUMBER;
    
      if (strlen(buf) == strlen(str_SIZE_MAX) && strcmp(buf, str_SIZE_MAX) > 0) 
          return BOUNDS;
        
      sscanf(buf, "%zu", out);
      return SUCCESS;
    }

    Наваял функцию для чтения size_t из файла с защитой от дурака (писал код будучи больным, чесслово).
    Ничего умнее печати SIZE_MAX в строчку и лексикографического сравнения для проверки границ введенного числа не придумал %)

    vlitomsk, 06 Марта 2015

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function array_search_my($string,$array){
            foreach($array as $el){
                if($el==$string) return true;
            }
            return false;
        }

    in_array - не круто.

    fasterrr, 06 Марта 2015

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

    +144

    1. 1
    Zaebali v komenty govno pisat !

    vot tak!

    mikamika83, 06 Марта 2015

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

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?
    
    // Код от блондинки
    $moya_peremennaya = 0;
    for ($moya_drugaya_peremennaya = 0; $moya_drugaya_peremennaya < 100; $moya_drugaya_peremennaya += $moya_drugaya_peremennaya) {
    
    $moya_peremennaya = $moya_drugaya_peremennaya; 
    // У меня не работало $moya_peremennaya = 100  
    
    }
    ?>

    Код одной блондинки

    mikamika83, 06 Марта 2015

    Комментарии (23)
  5. Java / Говнокод #17741

    +79

    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
    private short findHeaderLength() {
        return (short)(
            1+
            3+
            4+
            2+
            2+
            2+
            1+
            1+
            4+
            4+
            4+
            1+
            1+
            2+
            (32*fieldArray.length)+
            1
        );
    }

    DBFHeader

    bormand, 06 Марта 2015

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

    −96

    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
    Если ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "0" Тогда 
    	СтатусДоставки="0";
    ИначеЕсли ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "1" Тогда 
    	СтатусДоставки="1";
    ИначеЕсли ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "2" Тогда 
    	СтатусДоставки="2";
    ИначеЕсли ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "3" Тогда
    	
    	ДопЗначение=ДеревоXML.Строки[0].Строки[1].ЗначениеXMLЭлементаДанных;
    	
    	СтатусДоставки="3"+ДопЗначение;
    ИначеЕсли ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "4" Тогда 
    	СтатусДоставки="4";
    КонецЕсли;

    p0p, 06 Марта 2015

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

    +59

    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
    LPVOID  lpInfo = NULL;;
    UINT    unInfoLen = 0;
    
    DWORD  dwLangCode = 0;
    if (!GetTranslationId(lpInfo, unInfoLen, GetUserDefaultLangID(), dwLangCode, FALSE))
    {
        if (!GetTranslationId(lpInfo, unInfoLen, GetUserDefaultLangID(), dwLangCode, TRUE))
        {
          if (!GetTranslationId(lpInfo, unInfoLen, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), dwLangCode, TRUE))
          {
            if (!GetTranslationId(lpInfo, unInfoLen, MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), dwLangCode, TRUE))
              // use the first one we can get
              dwLangCode = *((DWORD*)lpInfo);
          }
        }
    }

    докомментировались, ебанатики...

    blackhearted, 06 Марта 2015

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

    −113

    1. 1
    escape_cats = [cat_id for cat_id, values in cats.iteritems() if any([values[1] == supercat or cat_id == supercat for supercat in escape_supercats])]

    Избегание котов.

    pushistayapodmyshka, 06 Марта 2015

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

    −121

    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
    КодТек = Каст(ID);
    
    Возвр = "{";
    
    ТекПользоваетель Контрагенты.НайтиПоКоду(КодТек);
    Если ТекПользователь = Контрагенты.ПустаяСсылка тогда
    		возврат 1;//Пользователь не найден
    конецЕсли;
    
    ТекЛев = Контрагенты.НайтиПоКоду(ТекПользователь.ЛеваяНога);
    
    Если не ТекЛев = Контрагенты.ПустаяСсылка тогда
    		Возвр=Возвр+"""cur_left"":{"+
    			"""id"":"""+ТекЛев.ID+""","+
    			"""last_name"":"""+ТекЛев.Фамилия+""","+
    			"""first_name"":"""+ТекЛев.Имя+""","+
    			"""middle_name"":"""+ТекЛев.Отчество+"""},";
    		
    		ТекЛевЛев = Контрагенты.НайтиПоКоду(ТекЛев.ЛеваяНога);
    
    		Если не ТекЛевЛев = Контрагенты.ПустаяСсылка тогда
    				Возвр=Возвр+"""cur_left_left"":{"+
    					"""id"":"""+ТекЛевЛев.ID+""","+
    					"""last_name"":"""+ТекЛевЛев.Фамилия+""","+
    					"""first_name"":"""+ТекЛевЛев.Имя+""","+
    					"""middle_name"":"""+ТекЛевЛев.Отчество+"""},";
    		конецЕсли;
    			
    		ТекЛевПрв = Контрагенты.НайтиПоКоду(ТекЛев.ПраваяНога);
    
    		Если не ТекЛевПрв = Контрагенты.ПустаяСсылка тогда
    				Возвр=Возвр+"""cur_left_right"":{"+
    					"""id"":"""+ТекЛевПрв.ID+""","+
    					"""last_name"":"""+ТекЛевПрв.Фамилия+""","+
    					"""first_name"":"""+ТекЛевПрв.Имя+""","+
    					"""middle_name"":"""+ТекЛевПрв.Отчество+"""},";
    		конецЕсли;
    конецЕсли;
    
    
    ТекПрв = Контрагенты.НайтиПоКоду(ТекПользователь.ПраваяНога);
    
    Если не ТекПрв = Контрагенты.ПустаяСсылка тогда
    		Возвр=Возвр+"""cur_right"":{"+
    			"""id"":"""+ТекПрв.ID+""","+
    			"""last_name"":"""+ТекПрв.Фамилия+""","+
    			"""first_name"":"""+ТекПрв.Имя+""","+
    			"""middle_name"":"""+ТекПрв.Отчество+"""},";
    		
    		ТекПрвЛев = Контрагенты.НайтиПоКоду(ТекПрв.ЛеваяНога);
    
    		Если не ТекПрвЛев = Контрагенты.ПустаяСсылка тогда
    				Возвр=Возвр+"""cur_right_left"":{"+
    					"""id"":"""+ТекПрвЛев.ID+""","+
    					"""last_name"":"""+ТекПрвЛев.Фамилия+""","+
    					"""first_name"":"""+ТекПрвЛев.Имя+""","+
    					"""middle_name"":"""+ТекПрвЛев.Отчество+"""},";
    		конецЕсли;
    			
    		ТекПрвПрв = Контрагенты.НайтиПоКоду(ТекПрв.ПраваяНога);
    
    		Если не ТекПрвПрв = Контрагенты.ПустаяСсылка тогда
    				Возвр=Возвр+"""cur_right_right"":{"+
    					"""id"":"""+ТекПрвПрв.ID+""","+
    					"""last_name"":"""+ТекПрвПрв.Фамилия+""","+
    					"""first_name"":"""+ТекПрвПрв.Имя+""","+
    					"""middle_name"":"""+ТекПрвПрв.Отчество+"""},";
    		конецЕсли;
    конецЕсли;
    
    
    ДлСтр = ДлинаСтроки(Возвр);
    
    Если ДлСтр=1 тогда 
    	возврат 2;//Ноги пусты
    иначе
    	Возрв = Лев(Возвр, ДлСтр-1)+"}";
    	возврат Возвр;
    конецЕсли;

    1С - хорошая среда. В этой среде очень просто и весело писать говнокод, причем с вполне серьезной мордой.

    Rijen, 05 Марта 2015

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

    −125

    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
    ТекущийПользователь = Справочники.Контрагенты.НайтиПоКоду(НовыйПользователь.Спонсор); //Выдергиваем указанного спонсора чтобы запихать ему в ногу
    Курсор = ТекущийПользователь.НастройкаКурсорНоги;//Определяет в какую ногу будут попадать новые рефералы
    Итератор = 0;
    
    Пока Истина цикл
    	Спонсор = ТекущийПользователь;//Небольшой финт
    	Если Итератор = 0 тогда
    		Если Курсор = "Левая" тогда
    			ТекущийПользователь = Справочники.Контрагенты.НайтиПоКоду(ТекущийПользователь.ЛеваяНога);
    		Иначе
    			ТекущийПользователь = Справочники.Контрагенты.НайтиПоКоду(ТекущийПользователь.ПраваяНога);
    		КонецЕсли;
    	Иначе
    		ТекущийПользователь = Справочники.Контрагенты.НайтиПоКоду(ТекущийПользователь.ПраваяНога); //Всех в "Правую ногу"
    	КонецЕсли;
    	
    	Если ТекущийПользователь = Справочники.Контрагенты.ПустаяСсылка тогда
    		Если Итератор = 0 тогда
    			Если Курсор = "Левая" тогда
    				Спонсор.ЛеваяНога = ТекущийПользователь;
    			Иначе
    				Спонсор.ПраваяНога = ТекущийПользователь;
    			КонецЕсли;
    		Иначе
    			Спонсор.ПраваяНога = ТекущийПользователь;
    		КонецЕсли;
    		Прервать;//Успешное завершение
    	КонецЕсли;
    КонецЦикла;

    Rijen, 05 Марта 2015

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