Субъективный Си / Говнокод #17533 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
- (void) setLevel:(NSInteger)level {
    if (level > (long)[_ranksDictionary count] - 1) level = (long)[_ranksDictionary count] - 1;
    if (level < 0) level = 0;

    _level = level;
    
    self.currentRank = [_ranksDictionary objectForKey:[NSNumber numberWithInteger:_level]];
    
    if (rankDataItem.integerValue != -_level)
        rankDataItem.integerValue = _level;
}

Я совсем хуевый?

Запостил: ExT ExT, (Updated )

Комментарии (9) RSS

  • rankDataItem.integerValue = _level -> это какая-то странная магия
    Ответить
    • Грустно слышать это от человека с таким ником
      Ответить
  • Можно
    self.currentRank = [_ranksDictionary objectForKey:[NSNumber numberWithInteger:_level]];


    заменить на
    self.currentRank = _ranksDictionary[@(_level)];
    Ответить
    • Спасибо, весь этот участок кода уже переправлен.
      Ответить
  • Почему бы не писать так?
    - (void)setLevel:(NSInteger)level
    {
            if(level >= self.ranksDictionary.count)
                    level = self.ranksDictionary.count - 1;
            else if(level < 0)
                    level = 0;
    
            _level = level;
    
            self.currentRank = self.ranksDictionary[@(_level)];
    
            if(rankDataItem.integerValue != -_level) // откуда взялось это  rankDataItem?
                    rankDataItem.integerValue = _level;
    }
    Ответить
    • многих интересует вопрос, почему бы не заменить:
      rankDataItem.integerValue = _level;

      на что-нибудь вроде:
      rankDataItem = @(_level);

      потому как rankDataItem.integerValue больше похож на геттер, а не свойство (даже если работает как свойство)
      Ответить
      • >> больше похож на A, а не B (даже если работает как A)
        - так про шо угодно в обжектив си можно сказать, в общем-то
        Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8