 |
|

23.01.2016, 17:44
|
|
Участник форума
Регистрация: 05.08.2015
Сообщений: 216
С нами:
5669089
Репутация:
0
|
|
Сообщение от Mangol
Дока вело и тима есть в свободном доступе. Так же там есть примеры.
Код:
Код:
protected void showMainPage(L2PcInstance player)
{
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
TextBuilder replyMSG = new TextBuilder(""+getName()+"");
replyMSG.append("[ "+getName()+" ]"
+""
+"");
replyMSG.append("
Engine instances");
replyMSG.append("");
for (L2EventGroupEngineInstance event : _eventInstances.values())
{
replyMSG.append(""+event.getName()+""
+""
+""
+""
);
}
replyMSG.append("");
replyMSG.append("");
replyMSG.append("");
replyMSG.append("");
replyMSG.append("");
adminReply.setHtml(replyMSG.toString());
player.sendPacket(adminReply);
// Send a Server->Client ActionFailed to the L2PcInstance in order to avoid that the client wait another packet
player.sendPacket(ActionFailed.STATIC_PACKET);
}
Так же такой код можно будет собирать куда лучшим способом
Но я понел что таким как ты лучше вообще ничего не советовать. Тебе лишь бы свою желчь вылить на ровном месте, и не важно несешь ты полную херню или нет, главное что ты всегда прав.
П.С. Хочу увидеть где я сказал говнокод. Данный случай это случай когда не совсем удобно работать с таким кодом, я бы даже сказал совсем не удобно с ним работать, когда есть фреймы которые могут облегчить жизнь и читаемость данного кода.
А чем отличается TextBuilder от StringBuilder ?
|
|
|

23.01.2016, 17:52
|
|
Постоянный
Регистрация: 22.06.2015
Сообщений: 562
С нами:
5732354
Репутация:
0
|
|
Сообщение от Elastic Heart
А чем отличается TextBuilder от StringBuilder ?
Тем что TextBuilder можно положить в кеш через рекукл.
|
|
|

23.01.2016, 20:25
|
|
Новичок
Регистрация: 21.01.2010
Сообщений: 0
С нами:
8581120
Репутация:
0
|
|
Сообщение от Elastic Heart
А чем отличается TextBuilder от StringBuilder ?
Не имею дел с еволюшеном.
|
|
|

24.01.2016, 20:41
|
|
Постоянный
Регистрация: 13.04.2015
Сообщений: 454
С нами:
5834308
Репутация:
2128
|
|
Сообщение от Visor123
Начнем с начала.
Ты парой сообщений выше вылез подпрягаться за неадеквата, которого ты не знаешь и не знаешь прав ли он вообще. Ты просто увидел код и слова дегенерата.
Ты видимо решил, что денегерат - это жертва, а я на него нападаю? Нет - дегенерат это не жертва, это гниль - которая из него лезет до сих пор, как только я тыкнул в него куканом. Я не пишу гадости нормальным людям, но получается, что ты себя ассоциировал с этим недоумком, который выложил неиспользованный гейм-сервером класс пытаясь нагадить мне.
Пример - вот вы накинулись на анциента, "выгнать его, выгнать", потому что что? Так анциент это просто мелкий жулик, обман которого лежит на "поверхности", а есть действительно неприятные псевдо-личности. Но групповой инстинкт сработал и ты причислил себя к группе с этим дегенератом GenCloud - это и есть твоя ошибка. Далее ты уже пытался всячески лезть ко мне с советами, пытаясь предметно так подгадить чистую насадку на кукан дегенерата, который это заслужил.
Выводы: не ассоциируйте себя в группу с людьми, которых вы не знаете. Чаще всего типа яркие знатоки могут оказаться весьма неприятными и крайне ненадежными. Первое, что сделают такие псевдо-личности - это будут использовать вас по мелочам.
Выродки не случайно так себя ведут, они этому учатся еще с детского сада, как манипулировать другими. Понимают интуитивно, насколько у других людей сильно чувство группы, желание быть частью сильной группы.
Если вы "чувствуете", что что-то "мутное", лучше дождаться, когда "муть" пройдет, а в данном случае денегерат будет раскрыт и насажен на кукан.
Проблема выродков в том, что я не пытаюсь искать группу, чтобы быть частью сильной группы, и поэтому быстро замечаю их. Возможность эта в том, что я не обременяю себя мыслями, что незнакомый мне человек может написать на форуме правду. И конечно достаточно большой жизненный опыт в офисных интригах. Выродки хорошо имитируют обычных людей, кривляются, умничают и т.д.
Смотрите критически на то, что вам говорят и пишут, не полагайтесь на псевдо-экспертов - часто это могут оказаться дегенераты, подсовывающие вам очередную порцию вранья.
И да, питушок ты наш - завалился бы и дальше сидел бы с кокс нюхал, как обычно ты и делаешь.
P.S. тронешь говно, вонять будет -> тронешь визора.... нутыпонел
|
|
|

24.01.2016, 21:27
|
|
Постоянный
Регистрация: 22.06.2015
Сообщений: 766
С нами:
5732336
Репутация:
0
|
|
Сообщение от GenCloud
И да, питушок ты наш - завалился бы и дальше сидел бы с кокс нюхал, как обычно ты и делаешь.
P.S. тронешь говно, вонять будет -> тронешь визора.... нутыпонел
Обосрался, так рот закрой и не воняй. Уже показано какое-ты гнилое.
|
|
|

24.01.2016, 23:49
|
|
Постоянный
Регистрация: 13.04.2015
Сообщений: 454
С нами:
5834308
Репутация:
2128
|
|
Сообщение от Visor123
Обосрался, так рот закрой и не воняй. Уже показано какое-ты гнилое.
Бозечьки, бозечьки. Воняет твоя немытая жопа после получасового дрыстания дерьма.
P.S. "какое-ты" это пишется без дефиса.
|
|
|

25.01.2016, 01:34
|
|
Постоянный
Регистрация: 22.06.2015
Сообщений: 766
С нами:
5732336
Репутация:
0
|
|
Сообщение от GenCloud
Бозечьки, бозечьки. Воняет твоя немытая жопа после получасового дрыстания дерьма.
P.S. "какое-ты" это пишется без дефиса.
Да с твоей жопой явно что-то не так
Ты не осилил обоврать факт, что ты явный дебил? Расскажи людям, зачем ты дебил взял не используемый класс и написал его в первом посте?
Поскольку говнокода в коде не найдено, прошу администрацию переместить тему в разоблачения ...
В теме хорошо разоблачен выставляющий себя экспертом клоун GenCloud.
Для тех, кто хочет еще улыбнуться с потуг GenCloud - это история, как покемон за свой ненужный код придумал цену в 18к рублей и ничего не получил.
|
|
|

03.02.2016, 19:26
|
|
Новичок
Регистрация: 02.02.2016
Сообщений: 7
С нами:
5408579
Репутация:
0
|
|
На самом деле, там действительно говно код.
Доказательства:
1. Много конкатенаций и вызовов getCommand(). Результат вызова надо закэшировать. Да и в принципе лучше явно команду указать, а не конкатенировать.
2. Вместо этого: "getCommand().length()+6" намного лучше получить длину строки с ЯВНОЙ команды, а не с этого.
3. Вместо 3-х вызовов eventName.isEmpty() намного логичнее сделать 1 и закешировать.
4. Конкатенация в TextBuilder - е
Итого: код имеет излишнюю нагрузку и почти не читаемый. Вывод - это говнокод.
НО! Лучше иметь работающий говнокод чем ненаписанный идеал.
|
|
|

03.02.2016, 20:31
|
|
Постоянный
Регистрация: 22.06.2015
Сообщений: 766
С нами:
5732336
Репутация:
0
|
|
Сообщение от echipachenko
На самом деле, там действительно говно код.
Доказательства:
1. Много конкатенаций и вызовов getCommand(). Результат вызова надо закэшировать. Да и в принципе лучше явно команду указать, а не конкатенировать.
2. Вместо этого: "getCommand().length()+6" намного лучше получить длину строки с ЯВНОЙ команды, а не с этого.
3. Вместо 3-х вызовов eventName.isEmpty() намного логичнее сделать 1 и закешировать.
4. Конкатенация в TextBuilder - е
Итого: код имеет излишнюю нагрузку и почти не читаемый. Вывод - это говнокод.
НО! Лучше иметь работающий говнокод чем ненаписанный идеал.
getCommand() - команда может быть разной, я писал выше. Ее нельзя явно указать, это класс модели. Напиши пример кеширования команды, которая неизвестна на момент времени написания. То есть минимум 2 пункта поста выше - это бред.
Второе - разве обращение к переменной через метод ведет к копированию объекта и его передаче? Нет - объект передается по ссылке.
Конкатенция строк может быть в какой-то версии ява оптимизирована, и тогда "вдруг" это станет работать оптимизировано. Но оно и до и после не говнокод и не может им являтся, использование стандартных функций java не является говнокодом, если java не является говнокодом вообще.
3. Закешировать eventName.isEmpty() ?
4. Конкатенация в TextBuilder - фреймворк не менаяет подходов, он может что-то ускорить, но при этом модель кода не поменяется.
Нельзя любой не оптимизированный для данной версии java код называть говноком.
Пример - программы написанные на с++ и скомпиленные под конкретную платформу работают быстрее чем java - значить любое java-приложение говнокод?
Вот такой вот факт, что на самом деле там нет никакого говнокода. Все твои пункты являются как минимум спорными, а так вообще некорректными, как доказательство.
Опровергни.
Еще опровергни теперь ты факт номер 2 - этот класс не используется в сервере. Автоматически любые рассуждения теряют смысл, как вырванные из контекста. И этот факт доказывает, что чувак GenCloud настолько тупой, что даже не мог взять рабочий класс.
Опровергни.
Я так понимаю этот echipachenko тоже был в команде с GenCloud - или это только предположение?
Если же это так, то это выпрыгивание тоже автоматически цирковое, а не типа "объективное".
Тут рассуждение покемона GenCloud - который обосрался и не смог доказать, что даже нашел типа говнокод. Слово "говнокод" не формализовано и не равно слову "оптимизированный" или "не оптимизированный". Вопрос говнокода не доказан и может быть субъективным. Это факт номер 3.
Жду опровержения очевидных фактов.
|
|
|

03.02.2016, 23:42
|
|
Новичок
Регистрация: 02.02.2016
Сообщений: 7
С нами:
5408579
Репутация:
0
|
|
1. Я более чем уверен что пока выполняется код метода, команда точно непоменяется, а это значит что getCommand() вернёт одинаковый результат.
А даже если меняется - то это в корне не правильно.
Ибо вы при первом вызове к примеру сравниваете результат с "предполагаемым значением", а так как команда может поменяться, то у Вас есть случай непопадания не под один ИФ, потому что при первой проверке команда была одна, а при второй другая, но она могла подойти под первый иф, в следствии чего обработка не запустится.
3. Имеется ввиду сделать так: boolean isEmpty = eventName.isEmpty(); if (!isEmpty) {....}
4. Во первых это не фреймворк. Во вторых конкатенация во всех подобных случаях ведёт к неявному созданию StringBuilder-a, смысл тогда юзать текстбилдер пропадает. И что бы Вы понимали, в чём отличия фреймворка от библиотекы: фреймворк дает Вам Flow и LifeCycle, которому Вы должны подчинятся.
Согласитесь, этот код не идеален. А вот используется этот класс или не используется - это уже не моё дело.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|