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

0

  1. 1
  2. 2
  3. 3
  4. 4
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{  
  if (![_searchBarWhite.text isEqualToString:@""] || ![_searchBarBlue.text isEqualToString:@""]) {
        if (![[[LanguageList enumToString:[LanguageList indexOfItem:[[[[LanguageSelectDemon summon]getObjectAtIndex:indexPath.row]lastPathComponent]stringByDeletingPathExtension]]] lowercaseString] containsString:[[_searchBarWhite.text isEqualToString:@""]?_searchBarBlue.text:_searchBarWhite.text lowercaseString]]){
            return 0;}}}

начальство заставило писать функции макс на 4 строчки, и которые делают "одну вещи", вот итоги...

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

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

  • >>[LanguageSelectDemon summon]

    Изыди, призванный демон, в адЪ!..
    Ответить
  • Методы класса в этом случае - это не очень хорошо. Да и вместо того чтобы реализовывать нормальную модель поиска, прятать по высоте ячейки - тоже не фонтан. А вообще можно переписать даже такое согласно требованиям (и читающие код не-iOS разработчики не скажут - что это за говно) (код поехал, http://pastebin.com/WctU6PMe):

    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)path {
    if ([self searchText].length) {
    NSString *result = [self resultStringForIndexPath:path];
    if ([result containsString:[self searchText]]) {
    return 0.f;
    }
    }
    return 44.f;
    }

    - (NSString *)resultStringForIndexPath:(NSIndexPath *)path {
    NSString *demonString = [self demonStringForIndexPath:path];
    NSInteger idx = [LanguageList indexOfItem:demonString];
    return [LanguageList enumToString:idx];
    }

    - (NSString *)demonStringForIndexPath:(NSIndexPath *)path {
    LanguageSelectDemon *demon = [LanguageSelectDemon summon];
    NSString *source = [demon getObjectAtIndex:path.row];
    NSString *name = source.lastPathComponent.stringByDeletin gPathExtension;
    return name.lowercaseString;
    }

    - (NSString *)searchText {
    NSString *text = _searchBarWhite.text;
    return text.length ? text : _searchBarBlue.text;
    }
    Ответить
    • LanguageList - toolClass
      LanguageSelectDemon - singletonClass

      вот и "Методы класса"

      А вот с "LanguageSelectDemon *demon = [LanguageSelectDemon summon];"
      почти угадал))

      +(LanguageSelectDemon *)summon{
      if (!demon) {
      demon = [[LanguageSelectDemon alloc] init];

      [demon PrepareLanguagesData];
      [demon laodCurrentLanguageData];
      }
      return demon;
      }
      Ответить
  • >>
    (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)path {
    if ([self searchText].length) {
    NSString *result = [self resultStringForIndexPath:path];
    if ([result containsString:[self searchText]]) {
    return 0.f;
    }
    }
    return 44.f;
    }

    - (NSString *)resultStringForIndexPath:(NSIndexPath *)path {
    NSString *demonString = [self demonStringForIndexPath:path];
    NSInteger idx = [LanguageList indexOfItem:demonString];
    return [LanguageList enumToString:idx];
    }

    - (NSString *)demonStringForIndexPath:(NSIndexPath *)path {
    LanguageSelectDemon *demon = [LanguageSelectDemon summon];
    NSString *source = [demon getObjectAtIndex:path.row];
    NSString *name = source.lastPathComponent.stringByDeletin gPathExtension;
    return name.lowercaseString;
    }

    - (NSString *)searchText {
    NSString *text = _searchBarWhite.text;
    return text.length ? text : _searchBarBlue.text;
    }
    Мерещится мне въ этихъ древних строкахъ ложь первосвященников, Христа поправшихъ.
    Въебал минус.Освятил пост
    Ответить

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

Семь раз отмерь — один отрежь, guest!

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


    8