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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 realsugar, (Updated )

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

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

    мои пять копеек:
    использовать 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 может быть как лонгом, так и интом, поэтому, для уверенности в переносимости кода кошерно явно указывать тип.

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

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

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

Помни, guest, за тобой могут следить!

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


    8