Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как улучшить кусок кода / 11 сообщений из 11, страница 1 из 1
11.08.2016, 14:52
    #39290361
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как улучшить кусок кода
Есть кусочек кода:
Код: java
1.
2.
3.
4.
5.
6.
private String buildMainMessage() {
        String result = buildMessageLocale(....);
        result = enrichMessage(....);
        result = buildAnotherMessage(result);
        return result;
    }


Как можно его отрефакторить?
Спасибо
...
Рейтинг: 0 / 0
11.08.2016, 14:57
    #39290368
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как улучшить кусок кода
JulT,

Код: java
1.
Message("str").toLocale().enrich().add(someth).build()
...
Рейтинг: 0 / 0
11.08.2016, 14:58
    #39290369
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как улучшить кусок кода
JulT,

Как минимум вместо result нужны внятные переменные. Экономия на спичках будущую отладку вообще никак не упрощает.

Код: java
1.
2.
3.
4.
String local = buildMessageLocale(....);
String message = enrichMessage(....);
String mainMessage = buildAnotherMessage(message);
return mainMessage;



Опять же не понятно что у вас там в четвероточиях.
...
Рейтинг: 0 / 0
11.08.2016, 15:40
    #39290401
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как улучшить кусок кода
Здорово, спасибо!
...
Рейтинг: 0 / 0
11.08.2016, 15:45
    #39290405
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как улучшить кусок кода
забыл никJulT,

Код: java
1.
Message("str").toLocale().enrich().add(someth).build()



Билдер имеет смысл только если он массово используется. В противном случае он сам по себе усложняет реализацию и отладку.
...
Рейтинг: 0 / 0
11.08.2016, 15:57
    #39290419
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как улучшить кусок кода
Blazkowiczзабыл никJulT,

Код: java
1.
Message("str").toLocale().enrich().add(someth).build()



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


Ну еще он имеет смысл, когда конструируемый объект не должен быть виден внешнему миру до момента окончательной инициализации, а также для проверки инвариантов во время конструирования, но вообще вы правы конечно, в данном случае код не настолько плох чтобы его вообще рефакторить
...
Рейтинг: 0 / 0
11.08.2016, 16:00
    #39290423
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как улучшить кусок кода
JulTКак можно его отрефакторить?
если код обозрим на одном экране и читабелен, то ничего не надо делеать. Идёт как бы конвейер записи в строку.
...
Рейтинг: 0 / 0
11.08.2016, 16:02
    #39290427
no56892
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как улучшить кусок кода
Вместо стринг использовать что-нибудь более подходящее (POJO, например). Я так понял оно там внутри еще и парсится...
...
Рейтинг: 0 / 0
11.08.2016, 16:14
    #39290439
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как улучшить кусок кода
С сервера прилетают некие коды, по которым выводится определенный месседж пользователю. В одном случае нужно сразу отобразить пользователю сообщение, например, "Недостаточно средств на балансе", и выйти из метода, в другом, пойти по цепочке дальше. Более того, в проперти файле хранятся key-value, типа: change.service.balance=Изменить баланс, а есть и такие: current.balance=Ваш баланс %s. Т.е. в некоторых случаях вместо символа нужно еще и значение вставить. Хочется как-то сделать красиво, но не знаю как
...
Рейтинг: 0 / 0
11.08.2016, 16:21
    #39290458
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как улучшить кусок кода
Если шаблоны подходят для Text.Format - его и использовать.
ResourceBundle , опять-таки.
"По-моему, так" (ц) Винни-Пух.
...
Рейтинг: 0 / 0
11.08.2016, 16:28
    #39290466
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как улучшить кусок кода
Basil A. SidorovЕсли шаблоны подходят для Text.Format - его и использовать.
ResourceBundle , опять-таки.
"По-моему, так" (ц) Винни-Пух.
я использую спринговый:
Код: java
1.
2.
MessageSource
messageSource.getMessage(
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как улучшить кусок кода / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]