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

    −344

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    NSInteger lengthString=[string length]-100;
    	for (NSInteger i=13000;i<lengthString;i++){ //ограничение поиска с начала, ищем пары ссылка - заголовок
    		if ([string characterAtIndex:i]=='<' &&
    			[string characterAtIndex:i+1]=='a' &&
    			[string characterAtIndex:i+2]==' ' && 
    			[string characterAtIndex:i+3]=='h' &&
    			[string characterAtIndex:i+4]=='r' && 
    			[string characterAtIndex:i+5]=='e' &&
    			[string characterAtIndex:i+6]=='f' && 
    			[string characterAtIndex:i+7]=='=') {
    			indexForUrl=i+16;
    		}

    парсинг ответа на поисковый запрос к Google...

    ниже еще пару сотен веток if

    Запостил: realsugar, 12 Ноября 2010

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

    • Google как всегда впереди планеты всей!
      Ответить
    • к
      о
      н
      ч
      е
      н
      ы
      й

      а
      в
      т
      о
      м
      а
      т
      Ответить
    • интересно, автор кода занимался оптимизацией или не представляет как написать иначе?

      мои пять копеек:
      использовать NSInteger в качестве счетчика - лютый, бешеный пиздец.
      Ответить
      • почему?

        typedef int NSInteger;


        может вы имели в виду NSNumber и иже с ним?
        Ответить
        • про прямой тайпдеф вы ошиблись.
          #if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
          typedef long NSInteger;
          #else
          typedef int NSInteger;
          #endif

          однако я ошибся сильнее. да, я имел в виду именно NSNumber c его потрясающими накладными расходами.
          Ответить
          • про прямой тайпдеф - я просто не копипастил ту кучу дефайнов :)

            главное, что мы друг друга поняли)))
            Ответить
            • да, но не совсем.
              NSInteger может быть как лонгом, так и интом, поэтому, для уверенности в переносимости кода кошерно явно указывать тип.

              но да, мы друг друга поняли.
              Ответить
              • Зато мы друг друга не поняли, сраная неймфажина, закосившая под Великого Меня.
                Ответить
              • лолшто? эти тайпдефы и есть для переносимости!
                Ответить
        • >NSInteger
          >NSNumber
          хехе
          Ответить
    • >Я кончил.
      Я начил!
      Ответить
    • Это случайо не код вконткта?

      Нпоминает их фирменное
      if ((method[0] == 'G') && (method[1] == 'E'..
      Ответить

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