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

    Всего: 4

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

    +1

    1. 1
    2. 2
    NSString* string = [NSString stringWithFormat:@"%li", (long)number];
    NSInteger strCount = [string length] - [[string stringByReplacingOccurrencesOfString:@"1" withString:@""] length];

    Считаем количество единичек в числе.

    Взято отсюда: https://david-smith.org/blog/2017/07/07/a-favorite-hack/

    gumbert, 21 Июля 2017

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

    −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
    struct Family: Enumerable {
      var name = "Smith"
      var father = "Bob"
      var mother = "Alice"
      var child = "Carol"
    
      func each(block: (String) -> Void) {
        for i in 0...2 {
          switch i {
            case 0: block("\(father) \(name)")
            case 1: block("\(mother) \(name)")
            case 2: block("\(child) \(name)")
            default: break
          }
        }
      }

    }

    http://matthijshollemans.com/2015/07/22/mixins-and-traits-in-swift-2/

    Pattern matching головного мозга. Верно говорят, что тот, кто не умеет делать, идет учить других как надо делать.

    gumbert, 21 Сентября 2015

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

    −516

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    {
    	NSArray *items = ...;
    	[items enumerateObjectsUsingBlock:^(Item *item, NSUInteger idx, BOOL *stop) {
    		// do some stuff with item
    
    		item = nil;
    	}];
    }

    Строка 6 написана сознательно и повторяется в ряде других методов.

    gumbert, 09 Сентября 2015

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

    −398

    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
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        
        UIBarButtonItem *saveButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Save", nil) style:UIBarButtonItemStylePlain target:self action:@selector(save:)];
        
        // ...
    
        self.navigationItem.rightBarButtonItems = @[saveButton, someOtherButton];
    
        self.saveBarButtonItem = saveButton;
    }
    
    - (void)someMethod
    {
        [self.navigationItem.rightBarButtonItems enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){
            UIBarButtonItem *barItem = (UIBarButtonItem *)obj;
            if ([barItem.title isEqualToString:NSLocalizedString(@"Save", nil)]) {
                barItem.enabled = NO;
            }
        }];
    }

    Задача: включать/выключать кнопку по определенному событию.

    gumbert, 02 Октября 2014

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