Няшная / Говнокод #802 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
Xgetc(fp); /* the extension code */
	for ( i = Xgetc(fp); i > 0; i-- ) Xgetc(fp);
	while ( ( i = Xgetc(fp) ) > 0 ) {
	  for ( i = i ; i > 0; i-- ) Xgetc(fp);
	}

Кусок из whirlgif - whirlgif.c

* This program reads in a sequence of single-image Gif format files and
* outputs a single multi-image Gif file, suitable for use as an animation.

Поубивал бы!

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

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

  • Аноним:
    А что конкретно не нравится в этом коде? С виду вполне типичный C-код, которым мы просто "кушаем" какие-то заголовки формата вроде паскалевских строк, которые мы просто не используем, и которых должно быть 1+. Ну "i=i" выглядит странно, но я не удивлюсь (я абсолютно не спец по C), если во времена создания этого кода нельзя было оставлять пустоту.
    Ответить
  • Капитан Очевидность:
    А то что это тройной цикл с бешенной рекусией - это ни у кого вопросов не вызывает? :))
    Ответить
  • это пропуск функционального блока в заголовке 87а. Начинается с '!', затем экстенжин код, посередине куча данных в формате struct { char size; char[] data... }, причем одна структура всегда присутсвует. Заканчивается блок ноликом.
    Кроме трех циклов здесь ничего криминального имхо нет. Читать можно было бы блоками и сократить количество вложенных циклов до двух, но кодера похоже схарило.
    И никакой рекурсией здесь не пахнет, читайте учебники
    Ответить
  • или хз, поясните тода почему код гавяный. Желательно на примере "как правильно"
    Ответить
  • Капитан Очевидность:
    да действительно я погорячился с рекурсией :))
    жаль здесь нету акков и посты нельзя исправить :))
    Ответить
  • mykola:
    [quote] Кроме трех циклов здесь ничего криминального имхо нет. Читать можно было бы блоками и сократить количество вложенных циклов до двух, но кодера похоже схарило.
    или хз, поясните тода почему код гавяный. Желательно на примере "как правильно"[/quote]
    tmtowtdi, asap. code is ok.
    Ответить
  • Ja!:
    Думаю, потому гавняный, что,

    for ( [b]i = i[b] ; ...)
    Ответить

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

Из-за тебя ушел bormand, guest!

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


    8