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

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

    +137

    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
    #define SPLICE(a,b) SPLICE_1(a,b)
    #define SPLICE_1(a,b) SPLICE_2(a,b)
    #define SPLICE_2(a,b) a##b
     
     
    #define PP_ARG_N( \
              _1,  _2,  _3,  _4,  _5,  _6,  _7,  _8,  _9, _10, \
             _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, \
             _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, \
             _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, \
             _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, \
             _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, \
             _61, _62, _63, N, ...) N
     
    /* Note 63 is removed */
    #define PP_RSEQ_N()                                        \
             62, 61, 60,                                       \
             59, 58, 57, 56, 55, 54, 53, 52, 51, 50,           \
             49, 48, 47, 46, 45, 44, 43, 42, 41, 40,           \
             39, 38, 37, 36, 35, 34, 33, 32, 31, 30,           \
             29, 28, 27, 26, 25, 24, 23, 22, 21, 20,           \
             19, 18, 17, 16, 15, 14, 13, 12, 11, 10,           \
              9,  8,  7,  6,  5,  4,  3,  2,  1,  0
     
    #define PP_NARG_(...)    PP_ARG_N(__VA_ARGS__)    
     
    /* Note dummy first argument _ and ##__VA_ARGS__ instead of __VA_ARGS__ */
    #define PP_NARG(...)     PP_NARG_(_, ##__VA_ARGS__, PP_RSEQ_N())
     
    #define NARG(...)     func(PP_NARG(__VA_ARGS__), __VA_ARGS__)
     
    #define INCR 20
     
    #define FIELD_0(...)
     
    #define FIELD_1(field, ...) \
      INCR+field
     
    #define FIELD_2(field, ...) \
      INCR+field, FIELD_1(__VA_ARGS__)
     
    #define FIELD_3(field, ...) \
      INCR+field, FIELD_2(__VA_ARGS__)
     
    #define FIELD_4(field, ...) \
      INCR+field, FIELD_3(__VA_ARGS__)
     
    #define FIELD_5(field, ...) \
      INCR+field, FIELD_4(__VA_ARGS__)
     
    #define FIELD_5(field, ...) \
      INCR+field, FIELD_4(__VA_ARGS__)
     
    #define FIELD_6(field, ...) \
      INCR+field, FIELD_5(__VA_ARGS__)
     
    #define FIELD_7(field, ...) \
      INCR+field, FIELD_6(__VA_ARGS__)
     
    #define FIELD_8(field, ...) \
      INCR+field, FIELD_7(__VA_ARGS__)
     
    #define FIELD_9(field, ...) \
      INCR+field, FIELD_8(__VA_ARGS__)
     
    #define FIELD_10(field, ...) \
      INCR+field, FIELD_9(__VA_ARGS__)
     
    #define FIELD_11(field, ...) \
      INCR+field, FIELD_10(__VA_ARGS__)
    //..... дальше лень ...
     
    #define FIELDS_(N, ...) \
      SPLICE(FIELD_, N)(__VA_ARGS__)
     
    #define FIELDS(...) \
      FIELDS_(PP_NARG(__VA_ARGS__), __VA_ARGS__)
     
     
    a = { FIELDS('p', 'a', 's', 's', 'w', 'o', 'r', 'd') }

    Примитивное компил-тайм шифрование строки через сишный препроцессор. На выходе получаем

    a = { 20 +'p', 20 +'a', 20 +'s', 20 +'s', 20 +'w', 20 +'o', 20 +'r', 20 +'d' };

    Базируется на http://smackerelofopinion.blogspot.com/2011/10/determining-number-of-arguments-in-c.html

    j123123, 06 Февраля 2014

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

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function login()
    	{
    	$.ajax({
    		type:'post',
    		url:'index.php/main/login',
    		data:{x:1},
    	 success:function(data){
                   $("body").html(data);
                }
              });
         }

    Функция из single page приложения

    devalentino, 01 Февраля 2014

    Комментарии (18)
  4. Java / Говнокод #13924

    +71

    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
    app_preferences = PreferenceManager.getDefaultSharedPreferences(context);
    			
    	        mApplication = (MyApplication)context;
    if(mApplication.nomgor == 0 ){
                  mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID", "0"));
    		      mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID","");//в работе
                  }
                if(mApplication.nomgor == 1 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID1", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID1","");//в работе
                  }
                if(mApplication.nomgor == 2 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID2", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID2","");//в работе
                   }
                if(mApplication.nomgor == 3 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID3", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID3","");//в работе
                   }
                if(mApplication.nomgor == 4 ){
                  mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID4", "0"));
                  mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID4","");//в работе
                  }
                if(mApplication.nomgor == 5 ){
                  mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID5", "0"));
                  mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID5","");//в работе
                  }
                if(mApplication.nomgor == 6 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID6", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID6","");//в работе
                   }
                if(mApplication.nomgor == 7 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID7", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID7","");//в работе
                   }
                if(mApplication.nomgor == 8 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID8", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID8","");//в работе
                   }
                if(mApplication.nomgor == 9 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID9", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID9","");//в работе
                   }
                if(mApplication.nomgor == 10 ){
                  mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID10", "0"));
                  mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID10","");//в работе
                  }
                if(mApplication.nomgor == 11 ){
                  mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID11", "0"));
                  mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID11","");//в работе
                  }
                if(mApplication.nomgor == 12 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID12", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID12","");//в работе
                   }
                if(mApplication.nomgor == 13 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID13", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID13","");//в работе
                  }
                if(mApplication.nomgor == 14 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID14", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID14","");//в работе
                   }
                if(mApplication.nomgor == 15 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID15", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID15","");//в работе
                   }
                if(mApplication.nomgor == 16 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID16", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID16","");//в работе
                   }
                if(mApplication.nomgor == 17 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID17", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID17","");//в работе
                   }

    кто-то с детства привык копипастить

    grampe, 09 Октября 2013

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

    +136

    1. 1
    2. 2
    3. 3
    if (ds2.Rows[l]["MIMETYPE"].ToString().Length >= 5 && ds2.Rows[l]["MIMETYPE"].ToString().Substring(0, 5).ToLower() == "image"){
     //  кучка гуана
    }

    Наверное определяется тип вложения.
    Path для лохов

    bars, 09 Октября 2013

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

    +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
    AbstractMessageFrame * DataLength = create_frame(
    		make_condition_reader(this,
    			fnc_ext::bind(
    				fnc_ext::compose1(
    					fnc_ext::compose2(std::logical_or<bool>(),
    									  std::bind2nd(std::equal_to<byte>(), PC5000FlashFeatures::MARKER_SYMBOL),
    									  std::bind2nd(std::equal_to<byte>(), PC5000FlashFeatures::SPACE_SYMBOL)),
    					fnc_ext::mem_fun<const ByteBuffer, const byte&>(&ByteBuffer::back) ),
    				&_receivedBuffer),
    			fnc_ext::bind(
    				fnc_ext::compose2(std::logical_or<bool>(),
    								  fnc_ext::compose1(std::bind2nd(std::greater<WORD>(),
    																 PC5000FlashFeatures::LENGTH_HEADER +
    																 _maxCommandFieldLength +
    																 PC5000FlashFeatures::LENGTH_MARKER +
    																 PC5000FlashFeatures::LENGTH_OF_LENGTH),
    													fnc_ext::mem_fun(&ByteBuffer::length)),
    								  fnc_ext::compose1(fnc_ext::compose2(std::logical_and<bool>(),
    																	  std::not1(std::ptr_fun<const char, bool>((SymbolCheckFunc)isDigit)),
    																	  std::not1(std::ptr_fun<const char, bool>((SymbolCheckFunc)isEnglishLetter))),
    													fnc_ext::mem_fun<const abstractBuffer<unsigned char>, const byte&>(&ByteBuffer::back)) ),
    				&_receivedBuffer) ),
    		fnc_ext::bind(std::mem_fun(&ThisClass::setDataLength), this),
    		"Data Length");

    Композиции, частичные применения, функторы? Больше тотальной функциональщины! Вложенность продолжает расти с развитием проекта.

    laMer007, 17 Сентября 2013

    Комментарии (18)
  7. JavaScript / Говнокод #13767

    +140

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    var x = 43;
    var y = 34;
    var z = x++ + --y;
    console.log(z);
    console.log(y);
    console.log(x);

    %D

    Stealth, 11 Сентября 2013

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    foreach (var contractBaseViewModel in contractModels)
    {
    	var entity = dbTenderLots.FirstOrDefault(x => x.Uid == contractBaseViewModel.EntityUid);
    	if (entity != null)
    	{
    		contractModels.ForEach(x => x.LotViewUrl = url.Generate<TendersController>(l => l.Lot(entity.Id)));
    	}
    }

    вопрос. какое значение примет LotViewUrl у моделек?

    Silvochka, 09 Сентября 2013

    Комментарии (18)
  9. Си / Говнокод #13700

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    char* getID(){
      uint32_t id = calcuate_id(); // Непринципиально, сложные какие то вычисления
      static char str[16] = {0};
      sprintf(str, "%ud", id);
      return str;
    }

    На самом деле кусок модуля к nginx. Вычисляетися целое число, преобразуется в десятичное представление....

    klavdiev, 29 Августа 2013

    Комментарии (18)
  10. Java / Говнокод #13691

    +133

    1. 1
    http://www.quizful.net/interview/java/k4gCs7Qmf8YF

    Мне кажется, или кто то накурился?

    если я не прав - обьяните(

    kegdan, 28 Августа 2013

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

    +164

    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
    function ПечатьТоварногоЧека($com, $x) {
    
                        echodos(" [{$x['in']['НомерЗаказа']}] ");
                        $Сделка=$this->app->Документы->ЗаказПокупателя->НайтиПоНомеру($x['in']["НомерЗаказа"], $this->settime(time()));
                        d(__LINE__);
                        $Док2=$this->app->Документы->ПлатежноеТребованиеВыставленное->СоздатьДокумент();
    
                        $doctime=time();
                        $Док2->Дата=$this->settime($doctime);
                        d(__LINE__);
                        $Док2->Заполнить($Сделка);//Заполняем по счету
                        $ДД=$this->app->ЗаполнениеДокументов;
                        d(__LINE__);
                        $ДД->ЗаполнитьШапкуДокументаПоОснованию($Док2, $Сделка);
    
                        $this->app->УправлениеДенежнымиСредствами->ЗаполнитьПриходПоОснованию($Док2,
                                $Сделка, $this->app->ПараметрыСеанса->ТекущийПользователь);
    
                        d(__LINE__);
                        $this->app->УправлениеДенежнымиСредствами->ЗаполнитьРеквизитыРасчетногоДокумента($Док2,
                                $this->app->ПараметрыСеанса->ТекущийПользователь,
                                $this->app->Константы->ВалютаРегламентированногоУчета->Получить(),
                                $Док2->РасшифровкаПлатежа);
                        d(__LINE__);
                        $this->app->УправлениеДенежнымиСредствами->УстановитьСтатьюДДСПоУмолчанию(
                                $Док2->РасшифровкаПлатежа->Получить(0),
                                $Док2->ВидОперации);
                        d(__LINE__);
                        $Док2->ВидПлатежа = "Электронно";
                        $Док2->ИННПолучателя = $Док2->Организация->ИНН;
                        $Док2->КПППолучателя = $Док2->Организация->КПП;
                        $Док2->ИННПлательщика = $Док2->Контрагент->ИНН;
                        d(__LINE__);
                        $ДД=$Док2->РасшифровкаПлатежа->Получить(0);
                        $ДД->Сделка = $Сделка;
                        d(__LINE__);
                        $Док2->Комментарий=$Док2->Комментарий."*Создана с сайта по требованию клиента";
                        d(__LINE__);
                        echodos(" [\$x['in']['Сумма']={$x['in']['Сумма']}] ");
                        d(__LINE__);
                        echodos(" [\$Сделка->СуммаДокумента={$Сделка->СуммаДокумента}] ");
                        d(__LINE__);
                        echodos(" [\$Док2->СуммаДокумента={$Док2->СуммаДокумента}] ");
                        d(__LINE__);

    Связь с 1С. файл на 5к строк подобного говна

    heyzea1, 26 Августа 2013

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