HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #81  
Старый 04.02.2016, 00:57
Visor123
Постоянный
Регистрация: 22.06.2015
Сообщений: 766
С нами: 5732336

Репутация: 0


По умолчанию

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

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

Согласитесь, этот код не идеален. А вот используется этот класс или не используется - это уже не моё дело.
по 1 - getCommand() всегда вернет ссылку на строку, которая во время рантайма не меняется. Это очевидно.

Каждый следующий вызов эквивалентен просто обращению к объекту 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.

Источник

Кто опровергнет этот факт?
 
Ответить с цитированием

  #82  
Старый 04.02.2016, 16:30
velafrys
Участник форума
Регистрация: 03.02.2016
Сообщений: 148
С нами: 5407316

Репутация: 0
По умолчанию

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

А теперь давайте узнаем немного о конкатенции строк оператором "+":
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.
Источник
Кто опровергнет этот факт?
Я не хочу показать, чью сторону я принимаю и принимаю ли я вообще в этом споре, сказать сложно, но раз уж такое дело, то вот Вам задачка.

Есть два куска кода :

Код:


[CODE]
String s = "";
for(int i = 0; i

Код:


[CODE]
StringBuilder sb = new StringBuilder("");
for(int i = 0; i

Какой из участков выполнится быстрее? И как время выполнение кода, если количество итераций в цикле увеличится в обоих случаях? Ведь это условная величина.

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

  #83  
Старый 04.02.2016, 16:46
GenCloud
Постоянный
Регистрация: 13.04.2015
Сообщений: 454
С нами: 5834308

Репутация: 2128
По умолчанию

[QUOTE="velafrys"]

Я не хочу показать, чью сторону я принимаю и принимаю ли я вообще в этом споре, сказать сложно, но раз уж такое дело, то вот Вам задачка.
Есть два куска кода :

Код:


[CODE]
String s = "";
for(int i = 0; i
 
Ответить с цитированием

  #84  
Старый 04.02.2016, 16:51
velafrys
Участник форума
Регистрация: 03.02.2016
Сообщений: 148
С нами: 5407316

Репутация: 0
По умолчанию

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

2 вариант быстрей. Но при увеличении итерации сжирает больше ОЗУ
Как часто тебе говорят, что ты в каждой бочка затычка?

Вопрос был адресован Визору, а не мамкиным погромистам.
 
Ответить с цитированием

  #85  
Старый 04.02.2016, 17:05
GenCloud
Постоянный
Регистрация: 13.04.2015
Сообщений: 454
С нами: 5834308

Репутация: 2128
По умолчанию

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

Как часто тебе говорят, что ты в каждой бочка затычка?
Вопрос был адресован Визору, а не мамкиным погромистам.
[OFF]Рили? "Вам" это епт бля кому. Ну на счет мамкиным... кхем, а вы мсье нонейм откуда вылезли?[/OFF]
 
Ответить с цитированием

  #86  
Старый 04.02.2016, 17:56
velafrys
Участник форума
Регистрация: 03.02.2016
Сообщений: 148
С нами: 5407316

Репутация: 0
По умолчанию

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

[OFF]Рили? "Вам" это епт бля кому. Ну на счет мамкиным... кхем, а вы мсье нонейм откуда вылезли?[/OFF]
Ты недавно там на ошибки указывал, да?

Если написано "Вам", а не "вам", то как думаешь - кому я написал?

Твой уровень репутации на зоне/здесь не поднимает твой уровень как разработчика.

Ровно как и жизненный опыт Визора не поднимает его уровень.
 
Ответить с цитированием

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

Репутация: 0


По умолчанию

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

[OFF]Рили? "Вам" это епт бля кому. Ну на счет мамкиным... кхем, а вы мсье нонейм откуда вылезли?[/OFF]
Администрация, обратите внимания: выродок(точная типизация) оскорбил человека.

Это один из примеров в рассказе про "ужимки пидаров", который будет позже.
 
Ответить с цитированием

  #88  
Старый 05.02.2016, 16:28
mAnGoL
Новичок
Регистрация: 21.01.2010
Сообщений: 0
С нами: 8581120

Репутация: 0
По умолчанию

Close без лишних вопросов.
 
Ответить с цитированием

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

Репутация: 0


По умолчанию

[QUOTE="velafrys"]

Я не хочу показать, чью сторону я принимаю и принимаю ли я вообще в этом споре, сказать сложно, но раз уж такое дело, то вот Вам задачка.
Есть два куска кода :

Код:


[CODE]
String s = "";
for(int i = 0; i
 
Ответить с цитированием

  #90  
Старый 05.02.2016, 18:20
velafrys
Участник форума
Регистрация: 03.02.2016
Сообщений: 148
С нами: 5407316

Репутация: 0
По умолчанию

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

Я не тестировал, но предположу что быстрее будет на ассемблере

Не получится перевести стрелку в обратную сторону, каждое мое утверждение либо можно подтвердить, либо опровергнуть, но только самостоятельно. Пока сообщение ничего не подтверждает и не опровергает.
Не нужно воспринимать сообщения, который Вас не поддерживает как поддержку GenCloud, ровно как и вопросы, на которые Вы не можете ответить.

GenCloud уже ответил на вопрос - второй участок кода выполнится быстрее.

К чему я его задавал?

Я просто хотел показать, что писать нормальнонужно сразу.Не нужно мне говорить, мол, "код не оптимизирован" и все такое. Это не тот случай, чтобы простые вещи оптимизировать когда-то там. Нужно использовать StringBuilder, а не рассказывать кулстори. В любом случае, Ваш код менее производителен, в плане этих конкатенаций в цикле.

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

Здесь "оптимизация" не уровня ассемблерных ставок, а скорее хорошего тона, или просто знание базовых вещей.

Опровергнете это?
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору. Комиссия форума: 2%.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...