#121 Рефакторинг сервиса проверки статуса документа

Компании:
Cinimex
Темы:
SpringОсновы SpringКод ревью

Сделать рефакторинг сервиса:

@Service
public class DocumentService {
    @Autowired
    StatusRepository statusRepository;
    /
     * Проверяет принят ли документ. Документ считается принятым, если код его текущего статуса
     * входит в список кодов положительных статусов.
     */
    public boolean isAcceptedDocument(Document document) {
        List<String> statusCodes = Arrays.asList("500", "293", "216", "processed");
        boolean result = false;
        for (String status : statusCodes) {
            if (document.getCurrentStatus().getCode() == status) {
                result = true;
                break;
            }
        }
        return result;
    }
    /
     * Проверяет завершена ли обработка документа. Обработка завершена, если среди кодов документа есть код,
     * принадлежащий одному из финальных статусов.
     */
    public boolean isFinishedDocument(Document document) {
        List<String> documentStatusCodes = document.getCodes();
        for (String docStatusCode : documentStatusCodes) {
            Status status = statusRepository.findByCode(docStatusCode);
            if (status.isFinal()) {
                return true;
            }
        }
        return false;
    }
}

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти