- 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
зохавает?
1. не была объявлена
2. не была инициализирована
3. была установлена в null
А при каких условиях (кроме, конечно, $a=null) в переменную может попасть null?
Т.е. если не обращать внимания на нотис, код все-таки видит существовала ли исходная переменная или нет.
Хотя можно поставить перехватчик ошибок и бросать их как ексепшоны - тогда уже наконец-то оно откажется работать, пока не сделаешь как правильно. Правда, кто будет себе в ногу так стрелять...
Программы первого математически проверяются. Да и вообще продуманно спроектирован.
Эрланг - для обработки множественных запросов. Позволит при частичном падении поднятся повторно и в любом случае, если упал один запрос - остальные останутся на плаву. (Про эрланг пока только из рекламных буклетов).
Ну и в любом случае правильного программирования конечно никто не отменял.
Ну вот казалось бы все работает и куда уж проще:
http://ideone.com/5lLxZ
И вот уже все непредсказуемо вешается или падает:
http://ideone.com/v75zo
Не хватает области допустимых значений для функции, как в аде и возможности перехватить нарушение диапазона и продолжить выполнение.
И на хаскеле срец, и в ногу стрелец.
Никто не мешает проверить диапазон и вернуть из функции Maybe/Either (аналог checked exceptions в яве), или же вызвать error и поймать его из IO кода (аналог традиционных исключений).
то я бы ни слова не сказал.
http://ideone.com/s077v
http://ideone.com/cFykx
Можно еще и так, но текст ошибки неконтролируем:
http://ideone.com/3KUQv
А вот так вообще почти дословно ;)
Спасибо. Вот это класс. :)
http://www.randomhacks.net/articles/2007/03/10/haskell-8-ways-to-report-errors