- 1
progress = progress != null ? progress + "%" : progress;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+73
progress = progress != null ? progress + "%" : progress;
Да, давно я не смеялся...
а так от progress = progress != null ? progress + "%" : null; не особо легче. ну или progress=String.format("%s%%",progress);
а вообще выражения вида param=func(param); однозначно зло
index = next( index ); // Зло ? Готов не согласиться.
void next() {this.index++;} c последующим next()
а если семантика меняется, то лучше
result=work(data);
конкретно, в сабже, progress справа был просто количеством, к примеру "50", а стал "50%" - стрингом для отображения.
вы же не будете спорить, что, допустим, 1 != 1 руб
void next() {this.index++;} - ничем не лучше. Потому что теряем старое значение.
И нельзя написать other = next( index );
Кто сказал, что progress это кол-во ?
Я конечно не спец в java, но насколько мне известно, типизация данных в нем статическая.
Стало быть, если progress был целым, то строкой он никогда не станет.
Кстати, в джаве есть типизация и статическая и динамическая. Джава насквозь типизированная)
index = next( index ); // здесь смысл не меняется, но присутствует избыточность
other = next( index ); // здесь все в порядке, потому что присваиваем другой пер.
> Стало быть, если progress был целым
то сабж не скомпилится. стало быть, он был строкой с числовым значением
не знаю уж, почему он не число, может Object значение из контрола получили и скастовали getValue().toString()
теперь глянем
на ситуевину после сабжа: в progress у нас стринг, и вот надо нам для расчета получить число. делаем Integer.parseInt(progress) и сваливаемся в NumberFormatException, потому что мы позабыли о знаке процента.
вывод: если вам нужно число, заведите себе числовую переменную, ну скажем double progress. как понадобится строка с процентом - заводите строковую, String progressView.
иначе, через строчек 10 у вас возникнет вопрос: а в каком формате у меня тут progress - с процентом или без? добавлять еще или нет? если вопроса не возникнет, получите баг.
поэтому - param=func(param); однозначно зло
ЗЫ: Закралось подозрение после чтений: може дениска-то наш вебкиллов агент?
...
bar = foo.getAndSet( bar );