1. Objective C / Говнокод #9780

    −86

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    - (void)refreshCursorRow
     {
         int row = [dataSource numberOfLines] - [dataSource height] + [dataSource cursorY];
    -    [self setNeedsDisplayInRect:CGRectMake(0, row *lineHeight, self.frame.size.width, lineHeight)];
    +    if (SaurikIsSad)
    +        [self setNeedsDisplay];
    +    else
    +        [self setNeedsDisplayInRect:CGRectMake(0, row *lineHeight, self.frame.size.width, lineHeight)];
     }

    В ходе гугления случайно наткнулся на этот diff-патч
    Остаётся узнать, кто такой Саурик, и почему он расстроен

    krypt, 27 Марта 2012

    Комментарии (2)
  2. Objective C / Говнокод #9655

    −83

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    -(void)makeItemavAilableWithName:(NSString*) name{
        [[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:name];
    }
    
    -(BOOL)isItemAvaliableWithName:(NSString*) name{
        //item could be a chracter or a world
        return [[[NSUserDefaults standardUserDefaults] valueForKey:name]boolValue];
    }

    Вот так вот мы сохраняем булевые переменные в UserDefaults. Оригинальная орфография и пунктуация сохранены

    SevInf, 12 Марта 2012

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

    −84

    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
    Options *optionsObj = [[Options alloc] init];
    
    NSMutableArray *options = [optionsObj selectOptions:playerID] ;
    if ([[options objectAtIndex:0] intValue] == 0) 
        homeButton.hidden = TRUE;
    if ([[options objectAtIndex:1] isEqualToString:@"Least seen"]) 
        isRandom = TRUE;
        
    [optionsObj release];
    
    if (isRandom) 
        words = [[Topic availibleWordsForPlayerID:playerID random:YES] retain];
    else
        words = [[Topic availibleWordsForPlayerID:playerID random:NO] retain];

    Автор подписался как Nishant

    GLvRzZZ, 11 Марта 2012

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

    −85

    1. 1
    http://pastebin.com/UaTdN6K2

    А выложу ка я это тут.
    Гуано трёхлетней выдержки. Фрагментации не поддаётся. Ныне отправлено на удобрения.

    krypt, 06 Марта 2012

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

    −111

    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
    98. 98
    -(void)handleNotification:(id<INotification>)notification
    {
    	NSLog(@"NOTIFICATION:%@", [notification description]);
    	if ([[notification name] isEqualToString:ShowMetronomeInTab]) 
    	{
    		[self.viewComponent showMetronomeInTab];
    	}
    	else if ([[notification name] isEqualToString:AlertOnScreen]) 
    	{
    		isShowRateAlert = YES;
    	}
    	else if ([[notification name] isEqualToString:NoAlertOnScreen]) 
    	{
    		isShowRateAlert = NO;
    	}
    	else if ([[notification name] isEqualToString: ShowHowToEnter]) 
    	{
    		id body = [notification body];
    		[self.viewComponent showHowToEnter:body];
    	}
    	else if ([[notification name] isEqualToString:ShowResultView]) 
    	{
    		[self.viewComponent showResultView:[notification body] Animated:YES];
    	}
    	else if ([[notification name] isEqualToString:ShowIndicatorView]) 
    	{
            if ([[notification body] isKindOfClass:[NSString class]]) 
            {
                [self.viewComponent showLoadingIndicator:[notification body]];
            }
            else 
            {
                if ([[notification body] isKindOfClass:[NSArray class]]) 
                {
                    [self.viewComponent showLoadingIndicator:[[notification body] objectAtIndex:0] WithSecondString:[[notification body]objectAtIndex:1]];
                }
            }		
    	}
        else if ([[notification name] isEqualToString:ShowBlackIndicatorView]) 
    	{
            [self.viewComponent showBlackLoadingIndicator:[notification body]];	
    	}
    	else if ([[notification name] isEqualToString:RemoveIndicatorView]) 
    	{
    		[self.viewComponent removeLoadingIndicator];
    	}
    	else if ([[notification name] isEqualToString:ShowTimeOutAlert]) 
    	{
    		[self.viewComponent displayAlertOnConnectionTimeOut];
    	}
    	else if ([[notification name] isEqualToString:ShowNetworkUnavailableAlert]) 
    	{
    		[self.viewComponent displayAlertOnNetworkError];
    	}
    	else if ([[notification name] isEqualToString:ShowServiceUnavailableAlert]) 
    	{
    		[self.viewComponent displayAlertOnConnectionError];
    	}
    	else if ([[notification name] isEqualToString:ShowHomeView]) 
    	{
    		[self.viewComponent showHomeView];
    	}
    	else if ([[notification name] isEqualToString:ShowProcessingView]) 
    	{
    		[self.viewComponent showProcessingView:[notification body]];
    	} else if ([[notification name] isEqualToString:ShowResultViewNotAnimated]) 
    	{
    		[self.viewComponent showResultView:[notification body] Animated:NO];
    	} else if ([[notification name] isEqualToString:ShowTimeOutAlertWithParent]) 
    	{
    		[self.viewComponent displayAlertOnConnectionTimeOutWithParent:notification.body];
    	}
    	else if ([[notification name] isEqualToString:ShowNetworkUnavailableAlertWithParent]) 
    	{
    		[self.viewComponent displayAlertOnNetworkErrorWithParent:notification.body];
    	}
    	else if ([[notification name] isEqualToString:ShowServiceUnavailableAlertWithParent]) 
    	{
    		[self.viewComponent displayAlertOnConnectionErrorWithParent:notification.body];
    	} 
        else if ([[notification name] isEqualToString:RotationIndicator]) 
    	{
            [self.viewComponent rotationIndicator];
    	}
    	else if ([[notification name] isEqualToString:StartMusic])
        {
            if (applicationProxy.mediaPlayerWasPlaying)
    		{	
    			applicationProxy.mediaPlayerIsPlaying = YES;
    			[self sendNotification:MediaPlayerChangeState];
    			MPMusicPlayerController *mpPlayer = [MPMusicPlayerController iPodMusicPlayer];
    			[mpPlayer play];
    		}
        }
    	else if ([[notification name] isEqualToString:StopMusic])
        {
            applicationProxy.mediaPlayerIsPlaying  = NO;
    		[self sendNotification:MediaPlayerChangeState];

    И так 50 elseif'ов. И, сцуко, все разные. И в последней трети отформатированы лесенкой.
    Местное видение PureMVC

    krypt, 05 Марта 2012

    Комментарии (21)
  6. Objective C / Говнокод #9460

    −118

    1. 1
    alert.tag = (int)([[request URL] retain]);

    без комментариев

    notxcain, 16 Февраля 2012

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

    −118

    1. 1
    2. 2
    3. 3
    if (ABS((int)debt.amount) == (int)debt.amount) {
    ...
    }

    zaplitny, 16 Февраля 2012

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

    −86

    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
    NetworkStatus netStatus = [curReach currentReachabilityStatus];
    switch (netStatus)
    	{
    		case NotReachable:
    		{
    			lastNetworkStatus = @"NotReachable";
    			
    		}
    	}
    		
    	if ([lastNetworkStatus isEqualToString:@"NotReachable"]) {
                                    .  .  . 
            }

    Переменная lastNetworkStatus больше нигде не используется и объявлена глобальной. Приложение есть на сторе http://itunes.apple.com/us/app/25-things-to-do-in-amsterdam/id452987778?mt=8
    Дали на доработку =)

    Lumyk, 25 Января 2012

    Комментарии (7)
  9. Objective C / Говнокод #9147

    −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
    21. 21
    22. 22
    // Досталось по наследству:
    
    @try {
        if([[items objectAtIndex:indexPath.row] performSelector:@selector(songsArray)]){
            NSArray *songsArray = [[items objectAtIndex:indexPath.row] songsArray];
            for(Song *song in songsArray){
                [song setIsSelected:button.selected];
            }
        }
     }
    @catch (NSException *exception) {
        NSLog(@"need fix in next time");
    }
    
    // переделал в
    if ( [[items objectAtIndex:indexPath.row] respondsToSelector:@selector(songsArray)] )
    {
        NSArray *songsArray = [[items objectAtIndex:indexPath.row] songsArray];
        for(Song *song in songsArray){
             [song setIsSelected:button.selected];
        }
    }

    lime, 17 Января 2012

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

    −83

    1. 1
    ((UIButton*)[[mCellsArray objectAtIndex:indexPath.row]viewWithTag:kSpeakGalleryCellButtonTag]).selected = !((UIButton*)[[mCellsArray objectAtIndex:indexPath.row]viewWithTag:kSpeakGalleryCellButtonTag]).selected;

    Встречается в проекте раз пять такая конструкция

    Werdn, 14 Января 2012

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