Задать вопрос
@Scotik
Junior Android Developer

Как лучше убрать повтороение кода?

Гении ооп, подскажите как лучше избавиться от повторяющихся кусочков кода в методах, методы разные, возращают разную информуацию, но суть что один и тот же кусочек приходится писать каждый раз

if (mGetRequest != null && mGetRequest.isExecuting())
            return;

        ParamsBuilder paramsBuilder = new ParamsBuilder();
        paramsBuilder.setMethod(BOOKS_METHOD);
        paramsBuilder.setEnumParse(EnumParse.BOOKS);

        if (page != null) paramsBuilder.addParams("page", String.valueOf(page));
        if (search != null) paramsBuilder.addParams("s", search);
        if (userId != null) paramsBuilder.addParams("uid", userId.toString());

        mGetRequest = new HttpRequest(listener);
        mGetRequest.execute(paramsBuilder);


вот этот кусочек (mGetRequest != null && mGetRequest.isExecuting()) приходиться проверять постоянно
  • Вопрос задан
  • 456 просмотров
Подписаться 2 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
  • Академия Эдюсон
    Java-разработчик: тариф Базовый
    8 месяцев
    Далее
  • Skillbox
    Профессия Java-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 2
@zelan
Кратко обо мне не получится.
Метод, который принимает на вход функциональный интерфейс(лямбду с кодом), внутри метода проверяется условие, и в зависимости от условия лямбда выполняется или нет.
Ответ написан
Комментировать
DmitryITWorksMakarov
@DmitryITWorksMakarov
Не являюсь специалистом по Java, я в основном по С# практикуюсь.
На C# делаю через метод расширения принимающем лямбду. Если объект не null, то запускается лямбда, принимая объект как параметр. Метот расширения возвращает результат лямбды, если объект не null, и null, если объект null.
Удобно. Можно делать цепочки вызовов не проверяя вручную на null или делать вложенные вызовы (кому как удобнее)....
Насколько знаю в Java8 есть и методы расширения и лямбды Новое в Java8.
Евгений Корначев видимо именно это и предлагает.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
maaGames
@maaGames
Погроммирую программы
bool isExecuting()
{
return mGetRequest != null && mGetRequest.isExecuting();
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Казань
от 75 000 ₽
ИТРУМ Ростов-на-Дону
от 75 000 ₽
СофтМоушен Санкт-Петербург
от 150 000 до 220 000 ₽