- 1
- 2
- 3
- 4
- 5
- 6
public static string GetString(string inpString, string defValue)
{
if (inpString == null)
return defValue;
return inpString;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+134
public static string GetString(string inpString, string defValue)
{
if (inpString == null)
return defValue;
return inpString;
}
Этот метод заботливо лижит в файле с всякими вспомогательными функциями, мало ли где может понадобиться
eth0 08.09.2014 17:09 # +1
guest 08.09.2014 23:51 # 0
guest 09.09.2014 08:06 # +1
guest 09.09.2014 12:02 # +1
bormand 09.09.2014 14:39 # 0
1024-- 09.09.2014 14:53 # +3
bormand 09.09.2014 14:58 # 0
Почему в прошедшем времени?
1024-- 09.09.2014 15:15 # +2
>> В шарпе же вроде был тернарник без средней части?
Потому что экономия мышления и использование слов предыдущего оратора.
3.14159265 10.09.2014 13:17 # 0
Так-то сахар, а в жс особенности неявной типизации языка.
wvxvw 10.09.2014 14:24 # 0
С той только разницей, что b вычисляется по требованию. Такую функцию можно организовать в любом языке, который позволяет пользователю ленивые вычисления и родовые переменные (например в Хаскилле). Типы на это не влияют.
3.14159265 10.09.2014 14:31 # 0
Что у вас это за чудесный язык? Какой-то оторванный от реальности диалект. Мы точно говорим о javaScript?
>С той только разницей, что b вычисляется по требованию
Это свойство оператора || еще с сишки.
>Типы на это не влияют.
Дооо. Неявное превращение в boolean вообще никак не влияет.
(false || 2)
wvxvw 10.09.2014 17:59 # 0
Синтаксис естесственно не настоящий. Но на сколько я могу судить такой синтаксис для генериков самый популярный.
Никаких превращений в булеан не происходит. Функция возвращает Т а не булеан.
3.14159265 10.09.2014 18:44 # 0
> Это совсем разные функции.
Если речь о js, тогда вы несете полнейшую чушь, обусловленную непониманием элементарных основ:
|| - это не функция, а оператор. Никто не вызывает его так: ||(a,b).
>Никаких превращений в булеан не происходит. Функция возвращает Т а не булеан.
Coolstory, bro.
bormand 10.09.2014 18:47 # 0
Дык различия чисто синтаксические.
> Coolstory, bro.
http://ideone.com/CSDNxc
3.14159265 10.09.2014 18:49 # +1
Можно и хуй называть пальцем, различия ведь чисто синтаксические, можно писать безумные сигнатуры ||(T a, T b). Отличия - колоссальные.
Можно ли, например, сохранить ссылку на оператор в переменной?
>http://ideone.com/CSDNxc
Не понял.
Ссылкой на ideone выражается согласие с тем что: "Никаких превращений в булеан не происходит."?
bormand 10.09.2014 18:50 # 0
Yep. Где они произошли то? Что оператору дали, то он дословно и вернул.
Разве что внутри реализации оператора, чтобы проверить истинность (и то не факт т.к. она может тупо проверить истинность безо всяких кастов). Спеку читать лень.
3.14159265 10.09.2014 18:55 # 0
Как без конверсии в буль понять что вычисления окончены на lval или надо вычислять правый?
>>"Никаких превращений в булеан не происходит."?
>Yep. Где они произошли то?
В стандарте языка. http://www.ecma-international.org/ecma-262/5.1/#sec-11.11
bormand 10.09.2014 18:57 # 0
3.14159265 10.09.2014 18:59 # 0
Я прекрасно вижу о чем говорит wvxvw. Во-первых он не говорит слова "оператор". Он твердит "функция".
Во-вторых:
>>if (a is equivalent to nil)
guest 20.01.2017 16:49 # 0
1024-- 10.09.2014 20:58 # 0
ToBoolean может и канет, но в общем случае (про который меня тут никто не спрашивал, но я так, ради напоминания), может бомбануть.
http://ideone.com/BYDBXr
bormand 11.09.2014 05:45 # 0
У нечитавшего спеку bormand'а бомбануло, не спорю. Но оператор || тут совсем не при делах, без него все то же самое:
http://ideone.com/LBw6Ug
Да и всё согласно спеке: ToBoolean() для любого объекта всегда true, вызывать у этого объекта ничего не надо. И побочные эффекты ты к ToBoolean() ну никак не прикрутишь.
А про in: Return the result of calling the [[HasProperty]] internal method of rval with argument ToString(lval). Отсюда вызов.
bormand 10.09.2014 18:54 # 0
Окей, окей...
wvxvw 11.09.2014 09:01 # 0
3.14159265 11.09.2014 09:46 # −1
Угу, и вызывается оператор также как и функция ||(a,b). Этот, лютый, отборный бред я уже видел выше.
>те, кто не [до]читал стандарт решили
Ну вы то неоспоримый знаток стандарта ecmascript, не буду спорить.
guest 26.09.2014 02:32 # −1
guest 26.09.2014 20:56 # −2
guest 30.09.2014 20:17 # −2
guest 25.02.2017 22:43 # 0
guest 09.09.2014 15:36 # 0
3.14159265 10.09.2014 13:18 # 0
Правильно он лижет. Назвать isNull, добавить генериков и вуаля! сахарок ?? совсем не нужен.
coalesce c вараргами по вкусу.