- 1
if (fooTextField.getText().equalsIgnoreCase("")) {
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+73
if (fooTextField.getText().equalsIgnoreCase("")) {
Не то, чтобы очень говно...
Просто порадовало :)
inkanus-gray 04.06.2013 18:45 # −5
3.14159265 04.06.2013 19:22 # −10
А в целом, ёпта, ну создайте статик-метод где два аргумента равноправны и забудьте вы про эти NPE
myzone 04.06.2013 20:13 # −11
someone 05.06.2013 05:52 # −13
bormand 05.06.2013 07:54 # −14
someone 05.06.2013 08:02 # −14
Lure Of Chaos 05.06.2013 08:57 # −15
хотя, надо отдать должно ребятам из Оракла, работают на славу. хоть и не всегда в желаемом направлении
anonimb84a2f6fd141 05.06.2013 23:36 # +6
someone 06.06.2013 07:19 # −9
3.14159265 04.06.2013 19:37 # −17
Lure Of Chaos 05.06.2013 08:58 # −13
лично мне не хватает ее. за что и люблю ruby
myaut 05.06.2013 10:18 # −16
Lure Of Chaos 05.06.2013 12:34 # −14
wvxvw 05.06.2013 10:24 # −10
Другими словами, чем больше перегрузок есть у определенного оператора, во столько же раз больше времени у вас будет занимать понимание текста.
Это подтверждается исследованиями приобретением навыков чтения у детей.
По этой же причине, не смотря на то, что естесственные языки позволяют применять виртуально бесконечное количество грамматик к любому фрагменту текста, в подавляющем большинстве случаев читающему достаточно оперировать монограммами, или диграммами для понимания прочитанного.
Если так хочется сэкономить - лучше напишите функцию состоящую из нескольких операторов - и экономия больше, и когнитивного диссонанса меньше.
Lure Of Chaos 05.06.2013 12:37 # −14
т.е.
1+2 === 1.+(2)
искать придется один метод
wvxvw 05.06.2013 13:21 # −13
Но даже если такое возможно, то все равно искать прийдется не один, а все: см. полиморфизм. А в языке с рантайм типизацией, не только полиморфизм, но еще и угадывать какой же именно тип будет в конкретном месте в любое время.
Lure Of Chaos 05.06.2013 13:24 # −13
да, в Руби стандартные классы открыты для перегрузки. древний троллинг: перегрузить оператор + на - для класса Fixnum и сломать любой код
anonimb84a2f6fd141 05.06.2013 23:37 # +11
В фитоне тоже можно отнаследоваться и перегрузить.
3.14159265 05.06.2013 13:12 # −11
Не хочу начинать, но толку от ваших =,==, ===,==== никакого. Читабельность - нулевая. Пускай я старомоден, но метод eq предпочтительные и понятней что это метод и где его искать.
Без словаря и мануала не поймешь что как и где работает.
Мне сходу на ум приходят эдак пять разных способов делать equal.
eqRef - равество ссылок
eq - equals() выдает true.
eqSerialized - равенство сериализованных объектов, то бишь строковые представления равны.
eqEmpty - когда "", null или другие пустые объекты равны.
eqDeep - очевидно что сканит массивы и структуры в полную глубину.
eqCast - равенство с приведением типа. (===)
Как понять какой из методов где используется:?
Что в каждом конкретном случаебудет значить ==, ===, ==== - запомнить нереально.
100500 идиотских правил: енумы сравниваем через ==, объекты через equals, а массивы вообще через жопу. Потому я вообще за то чтобы выпилить из языков богомерзкие ==,=== и сравнивать через eq(a,b) и пр.
Lure Of Chaos 05.06.2013 13:16 # −14
== сравнивает содержимое со всевозможными кастами. например, null==""
=== сравнивает ссылки, т.е. не ""===""
хотя, строки могут быть иммутабельными, а потому, повторно использовать уже созданные строки
хотя, конечно, a.equals(b), который бросает NPE, если первый аргумент нуллевой - это верх идиотизма
3.14159265 05.06.2013 13:18 # −14
Lure Of Chaos 05.06.2013 13:19 # −14
bormand 05.06.2013 14:05 # −11
anonimb84a2f6fd141 05.06.2013 23:40 # +8
3Doomer 05.06.2013 07:29 # −13
roman-kashitsyn 05.06.2013 07:35 # −12
bormand 05.06.2013 07:54 # −13
Но ведь производительность то точно такая же.
Lure Of Chaos 05.06.2013 08:59 # −13
bormand 05.06.2013 10:18 # −13
Lure Of Chaos 05.06.2013 12:39 # −12
bormand 05.06.2013 12:44 # −12
Повезет разве что если хеши уже посчитаны, и сравнение пройдет чисто по хешам. Или обе строки являются одним и тем же объектом.
Lure Of Chaos 05.06.2013 12:47 # −14
bormand 05.06.2013 12:48 # −12
Lure Of Chaos 05.06.2013 12:51 # −14
- ascii?
3.14159265 05.06.2013 14:10 # −14
Юзаю length. Э-э. На --client при определенных кастах (.length() == 0) медленее раза в три. Полиморфизм на марше.
nonamez 05.06.2013 10:31 # −14
roman-kashitsyn 05.06.2013 10:56 # −14
nonamez 05.06.2013 11:18 # −15
neeedle 06.06.2013 05:07 # −12
javanesovsemgovno 06.06.2013 19:15 # −13
nonamez 07.06.2013 10:14 # −12
3.14159265 07.06.2013 12:27 # −13
anonimb84a2f6fd141 07.06.2013 17:14 # +8
Lure Of Chaos 07.06.2013 22:42 # −10
guest 23.07.2013 03:44 # 0
anonimb84a2f6fd141 23.07.2013 05:55 # 0
bfGjKRC 25.08.2021 01:18 # 0