1. Си / Говнокод #802

    +135.8

    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, 01 Апреля 2009

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

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

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

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