У меня есть несколько методов в классе, как это:Могу ли я создать следующий код?
@Override
public void sendRemoteRecord(String token, int channelId, int eventId, final ServiceCallback<RemoteRecordResponse> callback) {
epgServicesApiManager.sendRemoteRecord(token, channelId, eventId)
.observeOn(scheduler)
.subscribe(new Action1<RemoteRecordResponse>() {
@Override
public void call(RemoteRecordResponse model) {
if (callback != null)
callback.onSuccess(model);
}
}, new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
if (callback != null)
callback.onError();
}
});
}
@Override
public void activateRemoteRecord(String token, String cardNumber, final ServiceCallback<RemoteRecordActivateResponse> callback) {
epgServicesApiManager.activateRemoteRecord(token, cardNumber)
.observeOn(scheduler)
.subscribe(new Action1<RemoteRecordActivateResponse>() {
@Override
public void call(RemoteRecordActivateResponse remoteRecordActivateResponse) {
if (callback != null)
callback.onSuccess(remoteRecordActivateResponse);
}
}, new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
if (callback != null)
callback.onError();
}
});
}
Можно ли удалить дублирование вокруг кода после строки observeOn()?
Досадной частью является проверка нулевой проверки обратного вызова перед ее использованием.
В настоящее время я знаю семь различных методов, которые мне нужны в этом классе и, возможно, больше.
Он должен быть опубликован в [Обзор кодекса] (http://codereview.stackexchange.com/) –
Должен ли я снова заплатить? – FinalFive
Пройдите через этот [тур] (http://codereview.stackexchange.com/tour) –