- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
if (event.customerName != "")
{
criteria.xmlCriteria =
"<criteria>" +
"<billingDetailsName>" + event.customerName + "</billingDetailsName>" +
"</criteria>";
}
else
{
criteria.xmlCriteria =
"<criteria>" +
"</criteria>";
}
ГК даже не из-за ветки else, а то, что там еще два стринга клеятся. А так, можно было бы еще предположить...ммм, оптимизацию по скорости, что ли? )))
Если будет много денег, то все будут клееться.
ой, мне много стрингов нинада
К стати, автор кода утверждает что програмит на Java 10 лет :)
автору тоже 10 лет? ))
Сынок, не много ли Ты на себя берешь? Ну допустим сегодня всем пофигу на производительность, в которой твой вариант явно проигрывает, НО У ТЕБЯ ЖЕ НОМИНАЛЬНЫЙ ВАРИАНТ В УСЛОВНОМ БЛОКЕ!!!!
2. Можно перевести в нижний регистр и объяснить в чем собственно проблема? Или если customerName === null, то нужно имя клиента записать (будет "null" строка). Я так предположил, что ожидаемое поведение должно быть аналогично си-шарповому String.IsNullOrEmpty() - ну тут уже у автора надо спрашивать :S
if (Условие которое почти 100% всегда выполняется) {
делаем, то что делаем почти в 100% случаев.
}
Тебя гарантированно поймут по другому:
if (Если произошло что-то неординарное) {
делаем какое-то редкое действие
}
Размещение номинального варианта в условном блоке является ошибкой, которая снижает читаемость кода.
Автор же шедевра 3203 хотя бы оставил номинальному 50%, да же нет ~66% потому что разместил наиболее невероятный вариант в блоке else
нет
> снижает читаемость кода
да
Если вы не пишите на ECMAScrip-подобных языках, то вам они могут показаться непонятными. Но, по спецификации компилятор ECMAScripta обязан кастовать выражение в условном блоке к Boolean. Поэтому то, что вы сделали просто добавит 3 лишних опкода перекаста из Boolean в Boolean. То, что вы написали это домыслы по незнанию. Смешно то, с каким апломбом вы это еще и защищаете...
> Но, даже если и нет, то мой вариант трансформируется в гораздо меньше инструкций байткода
Я не стал отвечать на эту хуйню вчера, потому что, думал что даже такому долбоёбу как Ты очевидно, что количество байткода которое получишь на выходе, слабо коррелирует с количеством буков исходника, одно дело две(три) строки склеить другое дело строить XML документ.
Я конечно понимаю что твой вариант короче на одну строчку и с точки зрения ActionScript выглядит лучше чем то что показал voice, но увы и ах - он унылое говно. Обясняю тебе как видят его люди:
1.criteria.xmlCriteria = <criteria/>;
Тег закрыт, критерий сформирован, заебись дальше можно не читать.
2. if (event.customerName)
Какая-то хуйня, всё же произошла, интересно почему этот условный оператор расположен после формирования результата, ладно хуй с ним почитаем что там говнокодеры дальше пишут.
3. criteria.xmlCriteria.billingDetailsName = event.customerName;
Хуясе, в закрытый тег пихают, теперь вообще придеться читать до того места пока XML на сервер не уйдёт, а то где нибудь выясниться что ещё что-то забыли и примотают c десяток параметров.
> Да, и откуда вы взяли, что это невероятное явление? Я вполне себе представляю такой код на какой-нибудь форме, где нужно сделать валидацию каких-то опциональных параметров.
Какая нахуй опцианальная валидация единственного условия, глаза разуйте на первый пост, там же черным по белому написано что условие единственное.
смотри, я бы мог выложить то, во что скомпилируются оба варианта и с объяснениями почему и как оно работает. Если интересно, то знаю я это не только потому, что даже человек вроде тебя, не знакомый с технологией, может воспользоваться SWFdump, которая есть у каждого, у кого есть флекс СДК, а еще и потому, что я еще и тестю это на правах оф. тестера... наверное год уже как... Тоесть, ты абсолютно не понимая, что говоришь, пытаешься меня убедить в том, о чем вообще не имеешь никакого представления... Ну, как бы понятно, Интернет, анонимность и все такое, но хоть немного здравого смысла это же должно было оставить? Или я не прав? :)