"PHP" / Говнокод #12249 Ссылка на оригинал

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
$sw = false;
if($valid_from && $valid_to)
	if( ($valid_from<=date('U')) && ($valid_to>=mktime(0,0,0,date('m'),date('d'),date('Y'))) )
		$sw = true;
	else
		{
			//Nimic
		}
elseif($valid_form)
	if($valid_form<=date('U'))
		$sw = true;
	else
		{
			//Nimic
		}
elseif($valid_to)
	if($valid_to>=mktime(0,0,0,date('m'),date('d'),date('Y')))
		$sw = true;
	else
		{
			//Nimic
		}
else
	$sw = true;

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

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

    • Самое замечательное, что покладистый PHP даже не вякнет и послушно исполнит код.
      Ответить
      • Именно поэтому языки, в которых переменные не нужно описывать явно, — говно.
        Ответить
      • Вякнет, еще как. При первом использовании неинициализированной переменной пхп выдает нотис. Просто типичный пыхер их не читает (а зря), а потом ломает голову над тем, что же тут не так.
        Ответить
                • В PHP никогда не будет котят. И нормальной обработки ошибок.
                  Ответить
                  • Я вас разочарую, там есть обработка ошибок, все зависит от кодера на самом деле.
                    Ответить
                    • Только какая-то причудливая. Не знаю, что там сейчас, но в старых версиях что-то ловилось трайкетчем, что-то - нет; что-то возвращало коды ошибок, что-то возвращало ложь и надо было дополнительно вызывать get_somecrap_errorcode(). Я видел парочку велосипедов, их авторы были явно этим зоопарком озадачены и начинали с того, что изобретали хитрые обёртки вокруг всего этого, чтобы сделать хоть как-то, но однообразно.
                      Потому один знакомый проект когда начинался, волевым решением было принято - только 5.3+, только хардкор. Никакой обратной совместимости, катитесь нахер. И повышать при новых релизах.
                      Ответить
                    • Я знаю, что можно преобразовывать нотисы и прочее говно в исключения, но меня жутко бесит, что это все не по умолчанию и из-за этого приходится проводить долгие часы, разгребая кучи чужого кода с собачками.
                      Ответить
        • Far, far away:
          $valid_from = $something->get();
          ...
          if (isset($_GET['valid_form'])) $valid_form = $_GET['valid_form'];
          ...
          if($valid_from && $valid_to)
          ...
          elseif($valid_form)
          ...
          No problem!
          Ответить
          • Ну так да. Но так и в языках, где переменные объявляют заранее, никакой диагностики мы не увидим...
            Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

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


    8