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

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

    +158

    1. 1
    <<?='b'.'o'.'d'.'y'?> class="p0 m0">

    Чье-то из какой-то самописной CMS в шаблоне..) таким способом выводятся многие теги))

    Cyril, 22 Мая 2014

    Комментарии (117)
  3. Java / Говнокод #11490

    +79

    1. 1
    String url = m_launchUrl.replaceAll(" ", "%20");

    Percent-encode по-Адобовски.

    http://svn.apache.org/repos/asf/incubator/flex/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/PlayerSession.java

    wvxvw, 29 Июля 2012

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

    +163

    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
    ....
    this.add_var = function(code){
      if(!this.undef.oneOf(code[1])){
        vName = code[1];
        if(this.isName(vName)){
          if(this.type[vName] == undefined){
            this.type[vName] = 'var';
            if(code[2] == '='){
              if(!this.undef.oneOf(code[3])){
                if(this.isNumber(code[3])){
                  value = parseFloat(code[3]);
                  this.vars[vName] = value;
                  return value;
                }else if(this.isName(code[3])){
                  if(this.vars[code[3]] != undefined){
                    value = this.vars[code[3]];
                    this.vars[vName] = value;
                    return value;
                  }else{
                    return 'Error:variable ' + code[3] + ' undefined.'
                  }
                }else{
                  return 'Error:value must be variable or number'
                }
              }else{
                return 'Error:you not type var value.'
              }
            }else{
              return 'nil';
            }
          }else{
            return 'Error:variable already defined.';
          }
        }else{
          return 'Error: in variable name.'
        }
      }else{
        return 'Error: you not type var name.'
      }
    }
    ....

    Часть исходника интерпретатора функционального ЯПа добавляющая переменные в контекст.
    Представляет собой каскад всевозможных проверок.

    art543484, 01 Января 2011

    Комментарии (117)
  5. Си / Говнокод #27753

    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
    // https://github.com/x42/darc.lv2/blob/7f1f42b879777e570c83fd566ac28cbfdd51e6fc/src/lv2.c#L508
    static void
    create_pattern (Darc* self, const double w)
    {
    	const int x0 = floor (w * 0.05);
    	const int x1 = ceil (w * 0.95);
    	const int wd = x1 - x0;
    
    #define DEF(x) ((x0 + wd * ((x) + 20.) / 60.) / w)
    
    	cairo_pattern_t* pat = cairo_pattern_create_linear (0.0, 0.0, w, 0);
    	/* clang-format off */
    	cairo_pattern_add_color_stop_rgba (pat, 1.0,       .0, .5, .0, 0);
    	cairo_pattern_add_color_stop_rgba (pat, DEF (40),  .0, .5, .0, 0.5);
    	cairo_pattern_add_color_stop_rgba (pat, DEF (5),   .0, .5, .0, 0.5);
    	cairo_pattern_add_color_stop_rgba (pat, DEF (-5),  .5, .0, .0, 0.5);
    	cairo_pattern_add_color_stop_rgba (pat, DEF (-20), .5, .0, .0, 0.5);
    	cairo_pattern_add_color_stop_rgba (pat, 0.0,       .5, .0, .0, 0);
    	/* clang-format on */
    	self->mpat = pat;
    
    	pat = cairo_pattern_create_linear (0.0, 0.0, w, 0);
    	/* clang-format off */
    	cairo_pattern_add_color_stop_rgba (pat, 1.0,       .1, .9, .1, 0);
    	cairo_pattern_add_color_stop_rgba (pat, DEF (40),  .1, .9, .1, 1);
    	cairo_pattern_add_color_stop_rgba (pat, DEF (5),   .1, .9, .1, 1);
    	cairo_pattern_add_color_stop_rgba (pat, DEF (-5),  .9, .9, .1, 1);
    	cairo_pattern_add_color_stop_rgba (pat, DEF (-20), .9, .9, .1, 1);
    	cairo_pattern_add_color_stop_rgba (pat, 0.0,       .9, .9, .1, 0);
    	/* clang-format on */
    	self->cpat = pat;
    
    #undef DEF
    }

    Отключаем и включаем clang-формат, чтобы отступы красиво были. Да еще и такой вот локальный дефайн!

    j123123, 17 Октября 2021

    Комментарии (116)
  6. JavaScript / Говнокод #26415

    +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
    var   words=
        [
     
            {   
                 'тупая русня ':1/10
                ,'на бутылку':1/8
                ,'у тебя же прыщи':1/12
                ,'руснявый':1/8
                ,'прыщеблядский':1/8
                ,',обоссался':1/10
                ,'обоссал':1/10
                ,', маму твою ебал,':1/12
                ,'стекломойная русня':1/8
                ,'гермашка': 1/10
                ,'туши пердак':1/8
            }
            ,{
                'садись на бутылку':1/8
            }
            ,{'стекломойный русачок':1/11,' пуйло':1/7,'ко-ко-ко':1/6,'рашка':1/10,', пидорахен':1/10}        
            ,{'пидораха,': 1/6,', пидораха полыхнула,': 1/12
                ,'козлодойч': 1/12
                ,'гермашка': 1/10
             }
            ,{  
                'свинособака':1/6
                ,', мамку ебал,':1/12
                ,'бамп отсосу ':1/13
                ,', маму твою,':1/12            
                ,'скрепы':1/11
                ,' пидораха,':1/8
                ,'cтекломойный':1/8
                ,'стекломоя наебнул':1/8
                ,'садись на бутылку':1/10
                ,'днище':1/7
                ,'русня':1/9
                ,'кремлебот ':1/6
                ,'порватка':1/10            
                ,'порвался':1/15
                ,'руснявая пидараха': 1/11
                ,'бубарех': 1/10
                ,'хуйня': 1/10
                ,'залупин': 1/13
                ,'хуйло': 1/12
            }
    ];

    Словарь слов-маркеров анона с /po для склейки крупных кусков кобенады и твердой мелкой психозы.

    Даже простейший скрипт, рандомно вставляющий данные фразы показывает весьма аутентичный результат.

    3.14159265, 05 Февраля 2020

    Комментарии (116)
  7. Lua / Говнокод #24440

    +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
    c:\Program Files (x86)\Lua\5.1>lua.exe c:\temp\1.lua
    0.0012512588885159
    
    c:\Program Files (x86)\Lua\5.1>lua.exe c:\temp\1.lua
    0.0012512588885159
    
    c:\Program Files (x86)\Lua\5.1>lua.exe c:\temp\1.lua
    0.0012512588885159
    
    c:\Program Files (x86)\Lua\5.1>lua.exe c:\temp\1.lua
    0.0012512588885159
    
    c:\Program Files (x86)\Lua\5.1>type c:\temp\1.lua
    print(math.random() )

    Луа под виндой как-то отчаянно сосет хуй не умея настоящие random из Windows Crypto API.
    В результате вызов 150 раз программы дает один и тот же random. Его конечно можно math.randomseed(os.time()), но то так, бо time это даже не милисекунды а сеунды.

    Забавно что под никсами все зробит как треьба

    :1$ lua51 1.lua
    0.31260803123592
    :2$ lua51 1.lua
    0.13656691980388
    :3$ lua51 1.lua
    0.56430453367732


    думаю оно читает /dev/random

    Золотой хуй, что это такое? Или Сёма прав и прыщелуа не умеет в winapi?

    roskomgovno, 04 Июля 2018

    Комментарии (116)
  8. JavaScript / Говнокод #18996

    −3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    var api = angular.module('GithubApi', []);
    api.controller('GithubStatus', function ($scope, $http) {
        $http.get('/api.json')
            .success(function (response) { $scope.api = response; });
    });

    Пейсатели ж.скрипт фреймоврков не перестают радовать. Код несколько упрощен, но суть должна быть очевидна каждому: переменная api будет затерта как только она будет создана строкой типа "[object Object]" потому что в $scope есть поле с таким же значением.

    wvxvw, 09 Ноября 2015

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

    +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
    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
    #include studio.h
    
    main()
    {
      uint16 final,num;
      printf(“enetr the unsigned integer 16bit number “);
      scanf(“%d”, &num);
      final= numbitset(num);
      printf(“%d”, final);
    }
    
    unit16 numbitset( unit16 x)
    {
      int i, j,result, total=0;
      uint16 no,modify
      for(i=1;i<=4;i++)
      {
        j=pow(10,i);
        no= (x%(j))>>(i-1)*4;
        if(no==0)
        {
          result=0;
        }
        else if(no==1)
        {
          result=1;
        }
        else if(no==2)
        {
          result=1;
        }
        else if(no==3)
        {
          result=2;
        }
       else
       {
          result = othernum(no/4)+othernum(no%4);	
        }
        total = total+result;
      }
    }
    
    uint16 othernum( uint16 y)
    {
      switch(y)
      {
        case 0:
          return(0);
          break;
      case 1:
          return(1);
         break;
      case 2:
        return(1);
        break;
       case 3:
          return(2);
          break;
       default:
        return;
        break;
      }
    }

    Посчитать количество значащиз битов в 16ти разрядном целом. Реальный тест на собеседовании дал такой вот результат. Угадайте откуда кандидат :)

    multilexa, 18 Июля 2014

    Комментарии (116)
  10. PHP / Говнокод #13982

    +152

    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
    function get_price () {
    	
    	$item_price =  get_p('item_price');
    	
    	$price = str_split($item_price);
    	
    	if ( sizeof($price)<=1 and sizeof($price) !== 0 ) {
    		
    		echo '--'; 
    		
    		} 
    	
    	if ( sizeof($price)<=3 and sizeof($price) !== 0 ) {
    		
    		echo get('item_price'); 
    		
    		} 
    			
    	if ( sizeof($price)<=4 and sizeof($price) !== 3  and sizeof($price) !== 2) {
    		
    		echo $price[0].' ';
    		
    		for ($i=1; $i<=sizeof($price);$i++) {
    			
    			echo $price[$i];
    			
    			}
    		
    		}
    		
    	if ( sizeof($price)<=5 and sizeof($price) !== 4 and sizeof($price) !== 3 and sizeof($price) !== 2  ) {
    		
    		echo $price[0].$price[1].' ';
    		
    		for ($i=2; $i<=sizeof($price);$i++) {
    			
    			echo $price[$i];
    			
    			}
    		
    		}	
    
    
      // И еще 2 подобных условия
    		
    
    	}

    Взял заказ на фрилансе с доработкой магазина. Так вот эта функция делает из цены вида 1740 такую 1 740, то есть добавляет пробел. Супер серверный хардкор, js не не слышал ...

    werdan, 21 Октября 2013

    Комментарии (116)
  11. Python / Говнокод #12850

    −99

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    # 2017991 => 20/17/99
                    # 658581 => 65/85
                    # 6585 => 65
    
                    id = id[:(len(id)%2) - 2]
                    subfolders = ''.join([(i and i % 2 == 0 and '/' or '') + x for  i, x  in enumerate(id)])

    В 4 часа утра написал такой вот щит. Можно по вашему мнению это как-то упросить?

    sbb, 04 Апреля 2013

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