Сообщение от
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 билдеров - это скажем так "оптимизация" весьма не очень полезная, выигрыш может и будет несколько наносекунд, но я считаю, что лаконичность кода в данном случае лучше.
А назвать этот конкретный цикл прямо говнокодом - это уже ни в какие ворота.