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

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

    −102

    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
    -(void)tableView:(UITableView*)tableViewTable didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
        switch (indexPath.row) {
            case 0:
            {
                ViewControllerFavorites *contoller = [[ViewControllerFavorites alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];
            }
                break;
            case 1:
            {
                ViewControllerMyAccount *contoller = [[ViewControllerMyAccount alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];            
            }
                break;            
            case 2:
            {
                ViewControllerParts *contoller = [[ViewControllerParts alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];            
            }
                break;            
            case 3:
            {
                ViewControllerFinancing *contoller = [[ViewControllerFinancing alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];            
            }
                break;            
            case 4:
            {
                ViewControllerWebView *contoller = [[ViewControllerWebView alloc] initWithNibName:nil bundle:nil link:@"http://www.facebook.com"];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];    
            }
                break;            
            case 5:
            {
                ViewControllerWebView *contoller = [[ViewControllerWebView alloc] initWithNibName:nil bundle:nil link:@"http://twitter.com"];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]]; 
            }
                break;            
            case 6:
            {
                ViewControllerWebView *contoller = [[ViewControllerWebView alloc] initWithNibName:nil bundle:nil link:@"http://plus.google.com"];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]]; 
            }
                break;            
            case 7:
            {
                ViewControllerLiveChat *contoller = [[ViewControllerLiveChat alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];           
            }
                break;            
            case 8:
            {
                ViewControllerGasStations *contoller = [[ViewControllerGasStations alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];            
            }
                break;            
            case 9:
            {
                ViewControllerVinScanner *contoller = [[ViewControllerVinScanner alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];           
            }
                break;            
            case 10:
            {
                ViewControllerQRScanner *contoller = [[ViewControllerQRScanner alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];            
            }
                break;            
            case 11:
            {
                ViewControllerNewsletter *contoller = [[ViewControllerNewsletter alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];            
            }
                break;            
            case 12:
           {
                ViewControllerSettings *contoller = [[ViewControllerSettings alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];           
            }
                break;        
            default:
                break;
        }

    Вот так в коммерческих проектах реализуют навигацию.

    GK2012, 23 Августа 2012

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

    +134

    1. 1
    private static readonly Dictionary<FloorCeilingSortOptions, Func<IOrderedEnumerable<FloorCeilingSystemPage>, Func<FloorCeilingSystemPage, int>, IOrderedEnumerable<FloorCeilingSystemPage>>> DefaultSortOrder

    dotnetdeveloper, 14 Августа 2012

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

    +141

    1. 1
    $exchange = $this->user_model->getFriends( $options );

    Чтоб никто не догадался... )

    dzen, 09 Августа 2012

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

    +134

    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
    private void LettersOnChanged(object sender, EventArgs eventArgs)
            {
                this._lettersBinding.Clear();
                this._lettersBinding.AddRange(this._letters);
    
                this.MailAgentGridControl.ResetBindings();
                this.MailAgentGridControl.RefreshDataSource();
                _bindingSourceLetters.ResetCurrentItem();
                _bindingSourceLetters.ResetBindings(false);
    
                int pos = _bindingSourceLetters.Position;
    
                this.MailAgentGridControl.DataSource = null;
                this.MailAgentGridControl.DataSource = _bindingSourceLetters;
    
                if (_bindingSourceLetters.Current == null)
                {
                    _guiCtrl.CurrentLetter = null;
                    return;
                }
    
                if (pos > _bindingSourceLetters.Count - 1)
                    pos = _bindingSourceLetters.Count - 1;
    
                if (pos < 0)
                    return;
    
                _bindingSourceLetters.Position = pos;
    
                MailAgentGridControlTableView.UnselectRow(MailAgentGridControlTableView.GetRowHandle(0));
                MailAgentGridControlTableView.SelectRow(pos);
            }

    Все ради того,чтоб при изменении датабинда в гриде менялась строка выделения.

    partizan, 09 Августа 2012

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

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ( !empty($special['catalog']) ) {
    	if (count($special['catalog'])>0) {
    		if (count($special['catalog'])>1) {
    ...
    		}
    	}
    }

    Интересная конструкция...

    domaster, 07 Августа 2012

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

    +56

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $cur_url=$_SERVER['REQUEST_URI'];
    if ($cur_url=='/') { 
    	$cur_url=$_SERVER['REQUEST_URI']; 
    	if ($cur_url=='/') { // Точно-точно адрес не равен слэшу
    		echo '';// После всех проверок можно с уверенностью вывести пустую строку
    	}
    }
    $cur_url2=$_SERVER['REQUEST_URI'];// И ещё разок
    if ($cur_url2!='/') { 
    	echo '';
    }

    Из движка одного московского портала, директор которого пытается нас убедить что там нормальный код

    RedMonkey, 03 Августа 2012

    Комментарии (3)
  8. PHP / Говнокод #11519

    +65

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function draw_text() {  
            // ....
            /* remove background color */
            imagecolortransparent($im_text, $bg_color);
            return $im_text;
            imagedestroy($im_text);
    }

    Функция вывода текста CAPTCHA в modx Evolution.

    MaXL, 02 Августа 2012

    Комментарии (3)
  9. PHP / Говнокод #11463

    +58

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    </tr>
    	<?php
    	}
    	echo "</table>";
    	?>
    </td>

    T_T

    psycho-coder, 23 Июля 2012

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

    +67

    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
    function trim_urls($urls)
    {
        $out = '';
        $arr = explode("\n", $urls);
        foreach ($arr as $v)
        {    
            $u = strip_tags(trim(preg_replace("/:.*$/i", "", preg_replace("/\/.*$/i", "", preg_replace("/^www\./i", "", preg_replace("/^http:\/\//i", "", preg_replace("/^https:\/\//i", "", $v)))))));
            if(!empty($u))
            {    
                $out .= $u;
                $out .= "\r\n";
            }    
        }    
        return $out;
    }

    Русская матрёшка.

    roman-kashitsyn, 18 Июля 2012

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

    +30

    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
    InputMapping* GetInputMapping(unsigned int index)
        {
            InputMapping* inputMapping = NULL;
    
            switch (index)
            {
                // Movement
            case 0:
                return &m_LeftStickMapping[InputBindings::StickDirUp];
            case 1:
                return &m_LeftStickMapping[InputBindings::StickDirDown];
            case 2:
                return &m_LeftStickMapping[InputBindings::StickDirLeft];
            case 3:
                return &m_LeftStickMapping[InputBindings::StickDirRight];
    
                // Actions
            case 4:
                return &m_ButtonMappings[Pad::ShoulderRight1];
            case 5:
                return &m_ButtonMappings[Pad::Button2];
            case 6:
                return &m_ButtonMappings[Pad::Button4];
            case 7:
                return &m_ButtonMappings[Pad::Button3];
            case 8:
                return &m_ButtonMappings[Pad::Button1];
    
                // Weapons
            case 9:
                return &m_ButtonMappings[Pad::PadLeft];
            case 10:
                return &m_ButtonMappings[Pad::PadUp];
            case 11:
                return &m_ButtonMappings[Pad::PadRight];
            case 12:
                return &m_ButtonMappings[Pad::PadDown];
            case 13:    // weapon wheel
                return &m_ButtonMappings[Pad::ShoulderRight2];
    
                // Camera
            case 14:
                return &m_RightStickMapping[InputBindings::StickDirUp];
            case 15:
                return &m_RightStickMapping[InputBindings::StickDirDown];
            case 16:
                return &m_RightStickMapping[InputBindings::StickDirLeft];
            case 17:
                return &m_RightStickMapping[InputBindings::StickDirRight];
            case 18:
                return &m_ButtonMappings[Pad::ShoulderLeft1];
            case 19:
                return &m_ButtonMappings[Pad::ShoulderLeft2];
            case 20:
                return &m_ButtonMappings[Pad::StickRight];
    
                // Menus
            case 21:
                return &m_ButtonMappings[Pad::Select];
            case 22:
                return &m_ButtonMappings[Pad::Start];
    
                // First-person camera
            case 23:
                return &m_ButtonMappings[Pad::StickLeft];
            default:
                return NULL;
            }
            return NULL;
        }

    Массивы? Не, не слышал.

    bazhenovc, 17 Июля 2012

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