- 1
- 2
- 3
function isEmptyStr(val) {
return val == null || val === "";
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+154
function isEmptyStr(val) {
return val == null || val === "";
}
Название функции немного не соответствует сути, но, на мой взгляд, не в такой степени, чтобы считать это говнокодом.
В процессе развития проекта бывает, что функция меняет своё назначение, а название остаётся старым.
То есть так? ;)
P.S. Вот если бы oneguy сформулировал свою фразу как "возвращает false, если аргумент не пустая строка и не нулл", тогда я бы согласился с кодом ОП'а.
А так, имхо, мой код более точно подходит к описанию "возвращает false если аргумент - непустая строка или значение другого типа".
Я здесь описал не функцию ОПа, то пример того, что если в названии функции присутствует Str, то это не означает, что функция принимает только строку. Тем самым опровёрг утверждение glprizes-а
"Название намекает, что функция принимает параметром строку."
P.S. Блин оно теперь на пустых массивах возвращает true ;(
P.P.S. Неужели в JS никак нельзя отличить любой объект, у которого есть length от массива или строки, запиленных через new Array/new String?
http://ideone.com/Ra97V
Но автор не рассказал зачем ему нужна была такая функция. Скорее всего она ему была не нужна.
EDIT: а хотя, нет, так массив тоже пройдет. Блин.
JS такой JS ;)
На самом деле, если кто-то это туда передал - значит так ему и надо...
Всё равно в javascript можно всё сломать, зачем лишний раз упираться, если всего-то строку на пустоту нужно проверить
Надо всего-лишь не позволять никому встраивать в страницу собственный javascript код. Параноиком нужно быть не при программировании на javascript, а при обработке данных, поступающих от пользователя (т.е. решать проблему на более высоком уровне).
Или, может, всем отказаться от Гугл-аналитикс и других сервисов которые предоставляются похожим образом между разными сайтами?
И да, это не левый код, пришедший от пользователя, а сознательно подключенные приложения, импакт которых можно оценить заранее.
Просто когда случится что-нибудь такое вселенского масштаба, типа как вот не так давно группа любителей сделала массовое перенаправление с гугловских ИП на какие-то левые в Латвии, на столько умело, что в Штатах государство потом еще год субсидировало сервера-замену, которые подменяли собой пиратские сервера.
Обнаружится какая-нибудь возможность эксплоита Гугл-аналитикс, и если ей кто-то воспользуется, последсвия вообще могут быть грандиозными, типа воровства миллионов кредитных карточек или чего-то в таком духе.
Кроме того, честно говоря, гугловский код совсем даже не отличается каким-то высоким качеством, особенно в том, что касается ЯваСкрипта и Флеша. АПИ к картам текло памятью как сито, например.
Но, проблема не в Гугле и тамошних программистах, потому что большинство и того хуже, а в том, что язык по задумке такой уродский, что написать на нем более-менее безопасную программу не возможно, либо возможно, но в самых тривиальных ситуациях.
Вот вы сами себе противоречите и подтверждаете мой тезис: не нужно даже пытаться, всё равно не угадаешь, что сломают (если сломают). Только код запутается, профита от этой паранои ноль.
Вы за время перехода обдумываете все варианты, как злые водители могут вас сбить, и как отразить эти атаки? Или же тупо подходите к переходу, ждете зеленого света, смотрите на всякий случай направо и налево и идете?
универсальный вариант:
Ниже, по-идее универсальное решение: