1. Список говнокодов пользователя Headless

    Всего: 6

  2. Objective C / Говнокод #19035

    −404

    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
    - (void)jumpToClass:(int)cIndex pageIndex:(int)pIndex {
      
        UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
    
        //trick to store pIndex and cIndex
        int calc = cIndex*100;
        calc = calc + pIndex;
        indicator.tag = calc; //trick to store pIndex
    
        [self.view addSubview:indicator];
        [indicator bringSubviewToFront:self.view];
        [indicator startAnimating];
        
        [NSTimer scheduledTimerWithTimeInterval:0.01
                                         target:self
                                       selector:@selector(asyncJumpToClass:)
                                       userInfo:indicator
                                        repeats:NO];
        
    }
    
    - (void)asyncJumpToClass:(NSTimer*)theTimer {
        
        UIActivityIndicatorView *ind = (UIActivityIndicatorView *)[theTimer userInfo];
        int pIndex = ind.tag%100;
        int cIndex = ind.tag/100;
    
    // еще 30 строк кода
    }

    Передача параметров

    Headless, 17 Ноября 2015

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

    −406

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Код конца 2014 года
    
        CGSize iOSDeviceScreenSize = [[UIScreen mainScreen] bounds].size;
        if (iOSDeviceScreenSize.height == 480)
            isRetina = true;
        else
            isRetina = false;5

    Headless, 23 Марта 2015

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

    −122

    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
    - (void)_syncThread:(NSDictionary*)args
    {
    	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    	ERFeedStatusDB *feedStatusDB;
    	NSError *error = nil;
    	
    	[self retain];
    	
    	// Open FeedStatusDB
    	feedStatusDB = [[ERFeedStatusDB alloc] init];
    	if (![feedStatusDB openWithPath:[args objectForKey:ERFeedStatusDBSyncFilePathKey] error:&error])
    		goto error;
    		
    	// Perform the sync
    	NSAutoreleasePool *pool2 = [[NSAutoreleasePool alloc] init];	// workaround for SQLITE_BUSY issue during -[feedStatusDB close] call
    																	// (autoreleased objects are sticking around that keep the DB locked) 
    	[self performSyncOnBackgroundThreadWithParams:[args objectForKey:ERFeedStatusDBSyncParamsDictKey] feedStatusDB:feedStatusDB];
    	[pool2 release];
    	
    	[feedStatusDB close];
    	[feedStatusDB release];
    	feedStatusDB = nil;
    	
    	[self _setExecuting:NO];
    	[_executingCondition lock];
    	[_executingCondition signal];
    	[_executingCondition unlock];
    	
    	[self release];
    	[pool release];
    	return;
    	
    error:
    	[self notifyDelegateOfFailureWithError:error];
    
    	[feedStatusDB close];
    	[feedStatusDB release];
    	feedStatusDB = nil;
    
    	[self _setExecuting:NO];
    	[_executingCondition lock];
    	[_executingCondition signal];
    	[_executingCondition unlock];
    	
    	[self release];
    	[pool release];
    }

    Авторелиз пулы. Goto. [self retain] и [self release]. NSLock. Все это в кастомной реализации NSOperation.

    Код выносит прогулки по базе в бэкграунд. Другого способа, видать, не нашлось.

    Headless, 13 Ноября 2013

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

    −106

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    @implementation ESpeaker
    
    EParticipantQueryGettersGroupForTypeWithSuffix(Speaker,SESSION_COUNT_OFF,LIKES_ON FAV_ON,kEDBAccessorTypePoolEventAndPrivate,ZERO_SESSION_COUNT_ON,);
    EParticipantQueryGettersGroupForTypeWithSuffix(Speaker,SESSION_COUNT_ON_WITH_TYPE,LIKES_ON FAV_ON,kEDBAccessorTypePoolEventAndPrivate,ZERO_SESSION_COUNT_OFF,WithSessionCount);
    
    @end

    От авторов Objective-C говнокода месяца!
    Первый в истории программирования класс, полностью реализованный на дефайнах!

    Продолжение в комментариях!

    Headless, 11 Июля 2013

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

    −110

    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
    // last parameter is the setter code if value allowed to be set
    #define SET_USING_CONFIG(cellSwitch,configKey,...)\
                cell.cellSwitch = [(EExhibitorsListConfigItem*)[self.configInfo configItemAtIndex:0] configKey];\
                if (cell.cellSwitch) {\
                    __VA_ARGS__;\
                }
    
     SET_USING_CONFIG(isLikesCountOn, showLikes,
        cell.likesCount = exhibitor.Rating;
        cell.likedByMe  = exhibitor.IsRated; );
    
    SET_USING_CONFIG(isInFavoritesOn, showFavoritesIndicator,
                         
        __weak EExhibitorCell *weakCell = cell;
    
        cell.didChangeFavouritesStateBlock = ^(BOOL newFavState) {
            [EExhibitorsListViewController updateFavoriteState:newFavState
                              ofExhibitor:exhibitor
                                   inCell:weakCell];
        };
    );

    Define master!

    Headless, 08 Июля 2013

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

    −153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    - (id)init:(NSString *)score{
        
        if (self = [super init]) {
            // Custom initialization
    		[self initWithNibName:@"Score_View" bundle:nil];
    		self.total_score=[score copy];
        }
        return self;
    }

    Отличная инициализация контроллера.

    Headless, 11 Мая 2012

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