Как лучше убрать повтороение кода? Гении ооп, подскажите как лучше избавиться от повторяющихся кусочков кода в методах, методы разные, возращают разную информуацию, но суть что один и тот же кусочек приходится писать каждый раз 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()) приходиться проверять постоянно

21 Авг 2019 в 07:03
166 +1
0
Ответы
1

Для избавления от повторяющегося кода в данном случае можно вынести проверку наличия и выполнения запроса в отдельный метод. Например:

private void executeRequest(String method, EnumParse enumParse, Integer page, String search, Integer userId, HttpRequestListener listener) {
if (mGetRequest != null && mGetRequest.isExecuting()) {
return;
}
ParamsBuilder paramsBuilder = new ParamsBuilder();
paramsBuilder.setMethod(method);
paramsBuilder.setEnumParse(enumParse);
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);
}

Затем в вашем методе, где раньше было повторение кода, можно использовать этот новый метод:

executeRequest(BOOKS_METHOD, EnumParse.BOOKS, page, search, userId, listener);

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

20 Апр 2024 в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир