- 1
- 2
- 3
- 4
- 5
- 6
- 7
function issets($text)
{
if (isset($text) && $text != '')
return 1;
else
return 0;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+56
function issets($text)
{
if (isset($text) && $text != '')
return 1;
else
return 0;
}
По просьбам радиослушателей :) Отрывок из админки неизвестного автора.
Кусочки http://govnokod.ru/11650 , http://govnokod.ru/11647 , http://govnokod.ru/11646
psycho-coder 28.08.2012 13:14 # 0
зохавает?
kindofbear 28.08.2012 13:50 # 0
bormand 28.08.2012 13:18 # +4
kindofbear 28.08.2012 13:53 # +1
scriptin 28.08.2012 19:13 # +1
1. не была объявлена
2. не была инициализирована
3. была установлена в null
bormand 28.08.2012 19:16 # +1
А при каких условиях (кроме, конечно, $a=null) в переменную может попасть null?
bormand 28.08.2012 19:30 # 0
Т.е. если не обращать внимания на нотис, код все-таки видит существовала ли исходная переменная или нет.
kindofbear 28.08.2012 20:43 # +1
bormand 28.08.2012 20:52 # 0
kindofbear 28.08.2012 20:59 # +3
Lowezar 28.08.2012 20:39 # +1
Хотя можно поставить перехватчик ошибок и бросать их как ексепшоны - тогда уже наконец-то оно откажется работать, пока не сделаешь как правильно. Правда, кто будет себе в ногу так стрелять...
scriptin 28.08.2012 22:47 # +2
LispGovno 29.08.2012 08:02 # −3
Программы первого математически проверяются. Да и вообще продуманно спроектирован.
Эрланг - для обработки множественных запросов. Позволит при частичном падении поднятся повторно и в любом случае, если упал один запрос - остальные останутся на плаву. (Про эрланг пока только из рекламных буклетов).
Ну и в любом случае правильного программирования конечно никто не отменял.
LispGovno 29.08.2012 08:12 # −4
Ну вот казалось бы все работает и куда уж проще:
http://ideone.com/5lLxZ
И вот уже все непредсказуемо вешается или падает:
http://ideone.com/v75zo
Не хватает области допустимых значений для функции, как в аде и возможности перехватить нарушение диапазона и продолжить выполнение.
bormand 29.08.2012 09:06 # +1
И на хаскеле срец, и в ногу стрелец.
Никто не мешает проверить диапазон и вернуть из функции Maybe/Either (аналог checked exceptions в яве), или же вызвать error и поймать его из IO кода (аналог традиционных исключений).
LispGovno 29.08.2012 09:25 # 0
LispGovno 29.08.2012 09:38 # 0
то я бы ни слова не сказал.
bormand 29.08.2012 10:05 # +1
http://ideone.com/s077v
http://ideone.com/cFykx
Можно еще и так, но текст ошибки неконтролируем:
http://ideone.com/3KUQv
bormand 29.08.2012 10:23 # +1
А вот так вообще почти дословно ;)
LispGovno 29.08.2012 11:13 # 0
Спасибо. Вот это класс. :)
LispGovno 29.08.2012 20:09 # 0
LispGovno 29.08.2012 09:26 # +1
http://www.randomhacks.net/articles/2007/03/10/haskell-8-ways-to-report-errors
bormand 29.08.2012 10:13 # +1
Lowezar 29.08.2012 10:51 # +1
scriptin 29.08.2012 20:02 # +1