по 1 - getCommand() всегда вернет ссылку на строку, которая во время рантайма не меняется. Это очевидно.1. Я более чем уверен что пока выполняется код метода, команда точно не поменяется, а это значит что getCommand() вернёт одинаковый результат.
А даже если меняется - то это в корне не правильно.
Ибо вы при первом вызове к примеру сравниваете результат с "предполагаемым значением", а так как команда может поменяться, то у Вас есть случай непопадания не под один ИФ, потому что при первой проверке команда была одна, а при второй другая, но она могла подойти под первый иф, в следствии чего обработка не запустится.
3. Имеется ввиду сделать так: boolean isEmpty = eventName.isEmpty(); if (!isEmpty) {....}
4. Во первых это не фреймворк. Во вторых конкатенация во всех подобных случаях ведёт к неявному созданию StringBuilder-a, смысл тогда юзать текстбилдер пропадает. И что бы Вы понимали, в чём отличия фреймворка от библиотекы: фреймворк дает Вам Flow и LifeCycle, которому Вы должны подчинятся.
Согласитесь, этот код не идеален. А вот используется этот класс или не используется - это уже не моё дело.
Каждый следующий вызов эквивалентен просто обращению к объекту String по ссылке, поэтому кол-во вызовов ничего не меняет. Это очевидно.
3 - пустая строка - с большой вероятностью это не сложно-вычисляемое значение (тики типа (length ==0) настолько некритичны в общем процессорном времени, что оптимизировать это кеширование в занимаемую память переменную не полезно) - кешировать его уже похоже на говнокод. Это тоже очевидно.
4 - под фреймворком я подразумеваю нативные или другие отдельные классы для работы со строками, по сути создание всех этих классов под каждое значение это не особо хороший стиль.
Код не идеален, но это никак не говнокод. Применение оптимизаций может привести как минимум к плохому стилю и усложнить понимание конструкции.
Таковы факты, которые ты так и не опроверг.
Кроме этого я больше чем уверен, что то что написал ты или GenCloud уж точно не идеально, и вообще неизвестно где, поскольку я пишу очевидные вещи - а в ответ какое-то мутное мычание словами, типа "согласись код не идеален" - "код не идеален" и "говнокод" - это разные вещи. В java априори в 90% случаев можно спорить над идеальностью кода, и еще больше, если рассмотреть его выполнение.
И это тоже факт, который ты не сможешь опровергнуть.
И последний факт - это именно GenCloud создал эту тему и именно чтобы попытаться нагадить мне.
Опровергни этот факт.
А теперь давайте узнаем немного о конкатенции строк оператором "+":
The Java language provides special support for the string concatenation operator ( + ), and for conversion of other objects to strings. String concatenation is implemented through the StringBuilder(or StringBuffer) class and its append method. String conversions are implemented through the method toString, defined by Object and inherited by all classes in Java. For additional information on string concatenation and conversion, see Gosling, Joy, and Steele, The Java Language Specification.
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками
Вход или Регистрация
Кто опровергнет этот факт?
Последнее редактирование: