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

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
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
chek_LD(void)
{
	LOCK_DETECT = read();
	if (LOCK_DETECT == SAVE_LOCK_DETECT)
	{
		return;
	}
	if (LOCK_DETECT == 0)
	{
		LOCK_DETECT = read();
		if (LOCK_DETECT == 0)
		{
			if (LOCK_DETECT != SAVE_LOCK_DETECT)
			{
				SAVE_LOCK_DETECT = 0;
			}
		}
	}
	else
	{
		delay_us(5);
		LOCK_DETECT = read();
		if (LOCK_DETECT == 1)
		{
			if (LOCK_DETECT != SAVE_LOCK_DETECT)
			{
				SAVE_LOCK_DETECT = 1;
			}
		}
	}
	return;
}

пришел на легаси проект. обожаю глобальные переменные на весь проект. еще больше обожаю логику)

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

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

  • > глобальные пельменные

    Да ещё и с именами как у констант макросов.
    Ответить
    • Кстати, что с такой питушнёй обычно делают? (Кроме перехода на Haskell и ссылочную прозрачность)
      Бывает же действительно, когда константа совершает каминг-аут и признаётся, что ей нравится менять свои значения. И игнорировать это нельзя, и какие-то питухи уже используют её, и могут сломаться.
      Ответить
      • Вешаются.

        Ну или меняют версию с 2.34 на 3.0 с отстрелом обратной совместимости.
        Ответить
  • Кстати, за read() он когда-нибудь получит граблями по ебалу если этот код на posix'е будут запускать.
    Ответить
      • Вряд ли. Скорее наоборот, вместо никсового получить эту хрень. Свои символы вроде сильнее библиотечных.
        Ответить
        • Думаю, годный линкер может тебя о таком предупредить. А у кого приоритет -- не знаю, может быть, ты и прав.

          Алсо, если к тебе в хедеры проберется unistd.h, то ты можешь быть выебан еще компилятором, если конечно он не 1989-го года выпуску
          Ответить
          • > компилятором

            Ну это если ты оба хедера смешаешь...
            Ответить
            • если там будет юнистд, то компилятор тебя отругает за непередачу туда параметров, хотя в древней сишечке это вроде и не ошибка, а если будет и твой и юни, то будет жлоба на редеклерейшн, ни?
              Ответить
              • Да. Непередача параметров вроде всегда ошибкой была если в прототипе типы перечислены. Для этого и (void) в функциях без аргументов, пустые скобки допускают любой вызов.
                Ответить
                • точно, а разгадка в том, что в древности параметры вообще не указывали, а затем указывали по еблански

                  petuh()
                  int, int

                  вроде
                  Ответить

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

Где здесь C++, guest?!

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


    8