Показать сообщение отдельно

  #105  
Старый 05.02.2016, 20:06
Visor123
Постоянный
Регистрация: 22.06.2015
Сообщений: 766
С нами: 5732336

Репутация: 0


По умолчанию

Цитата:
Сообщение от velafrys  

Что именно проверять, если в этом цикле нет проверок?
Сплошное склеивание строк.
Да, именно и нужно "склеивание 2 строк" в верхнем блоке с проверками, а в нижнем передано на решение оптимизитора java.

Твои абстрактные рассуждения не помогут решить задачи, выполняемые классом.

Итак даю подсказку. Класс - общий класс иерархии групп-эвентов, содержит в себе решения общие для всех наследуемых его классах. Кол-во эвентов на момент разработки неизвестно, есть вероятность что их будет более 2х, может и 1, пока планируется один.

Ничего необычного в общем-то.

Вторая подсказка - методы данного класса используются только на момент настройки эвентов. Настройка эвентов происходит редко.

Вопрос - нужно ли оптимизацию скорости выполнения без конкатенций в проверках выносить ключевым?

Вопрос - нужно ли оптимизация строки генерирования странички html выносить ключевым?

Вопрос - нужно ли поставить ключевым вопрос ООП и экономии памяти из-за крайне редкого использования?

Цитата:
Сообщение от velafrys  

В случае с использованием "+" внутри .append() (как у Вас и сделано) код превратится вот в это :

Код:


Код:
replyMSG.append(new StringBuilder("").append(event.getName()).append("").append("").append("").append("").toString());
Т.е. каждую итерацию цикла будет создаваться новый экземпляр StringBuilder.
Зачем это, если Вы уже используете TextBuilder, и можете использовать .append(), вместо использования "+" ?
Можно было бы городить велосипед для 2-3 циклов с 1 экземпляром билдера, но для пары-тройки итераций код будет излишним, а вопрос скорости работы не решит. То есть создание 1 или 2 билдеров - это скажем так "оптимизация" весьма не очень полезная, выигрыш может и будет несколько наносекунд, но я считаю, что лаконичность кода в данном случае лучше.

А назвать этот конкретный цикл прямо говнокодом - это уже ни в какие ворота.
 
Ответить с цитированием