1. C++ / Говнокод #1680

    +50

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    int i, j;
    for (i = j = 0; i < 4; i++)
    	if (frame & (0x8 >> i))
    	{
    		if (i < 2 && p.value < double(frames1[j]) && !(i && j) ||
    			i > 1 && p.value > double(frames1[j]))
    			p.value.attr = 1 + i;
    		j++;
    	}

    Как вам цикл до 4 с тремя проверками на значение счётчика? :)

    Запостил: Dimarius, 25 Августа 2009

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

    • Жесть)) Код студенты писали? Уж очень смахивает на практику по программированию))
      Ответить
    • Нет, код писал матёрый эксцентричный программист
      Ответить
    • Всего 4 прохода цикла... Смысл в таком месте бороться за быстродействие?
      Ответить
      • возможно, это пока 4 итерации. или сам кусок кода выполняется многократно.
        Ответить
    • по-моему 4 if это больший говнокод. Зачем там кстати j?
      Ответить
      • if (frame & (0x8 >> i)){....;j++;}

        А потом внутри этого же блока в проверке условия j - индекс frames1
        ...&& p.value > double(frames1[j])
        Ответить
    • Выглядит стремно, а понять насколько это говнокод можно только в контексте задачи.
      Ответить

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