Бизнес-значимые расчёты и итоговые денежные значения должны определяться backend по единому правилу. Frontend может форматировать результат и показывать предварительную оценку, не становясь источником истины.
Где лучше выполнять преобразование данных, видимое клиенту: на backend или frontend? Например, расчёт годовых процентов.
Бизнес-значимые расчёты и итоговые денежные значения должны определяться backend по единому правилу. Frontend может форматировать результат и показывать предварительную оценку, не становясь источником истины.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Бизнес-значимые расчёты и итоговые денежные значения должны определяться backend по единому правилу. Frontend может форматировать результат и показывать предварительную оценку, не становясь источником истины.
Для процентов нужно согласовать базу дней, капитализацию, округление, валюту и даты, а не просто умножить число. Одинаковая формула во всех клиентах снижает расхождения, но сервер всё равно проверяет входные данные. Чисто визуальные преобразования — локаль, разделители, отображение процентов — обычно остаются на клиенте. Предварительные значения интерфейса следует отличать от подтверждённого расчёта.