#304 Код-ревью класса клиентского счета

Компании:
Сбербанк
Темы:
JavaООПКод ревью

Сделать код-ревью:

Java
public class SchetClienta {
    public LinkedList<Double> history;

    SomeCurrencyExchangeService service;

    public SchetClienta(LinkedList<Double> initial) {
        this.history = initial;
        this.service = new SomeCurrencyExchangeService();
    }

    public void setPurchases(Double money) {
        history.add(money);
     }

    public boolean equals(Object o) {
        if (this == o) {
           return true;
        }
        SchetClienta other = (SchetClienta) o;
        return history == other.history;
    }

    Double transferToTheCurrency(String currency) {
        AtomicReference<Double> sum = new AtomicReference<>(0.0);
        try {
            history.forEach(it -> {
                Double converted = service.getValueForCurrency(CurrencyEnum.valueOf(currency), it);
                sum.accumulateAndGet(converted, Double::sum);
            });

            return sum.get();
        } catch (Throwable t) {
            return 0.0;
        }
    }
}

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

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