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

    −388

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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, 28 Января 2015

    Комментарии (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)
          - так про шо угодно в обжектив си можно сказать, в общем-то
          Ответить
    • я б вообще последний иф не писал, смысл?
      Ответить

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