Методология
Формула должна быть проверяемой
Каждый публичный результат связан с версией расчёта, набором допущений и эталонными тестами.
Одна формула на сервере
Браузер собирает ввод и отображает ответ. Расчёт выполняется серверным модулем с десятичной арифметикой; формулы не дублируются в интерфейсе.
Деньги и округление
Денежные значения передаются строками с точностью до копейки. Промежуточные операции выполняются с повышенной точностью, пользовательские суммы округляются до двух знаков. Последний платёж корректируется до фактического остатка.
Версии и изменения
Текущая ипотечная модель — mortgage-annuity-1.0. Изменение формулы требует новой версии, причины, примера до/после и регрессионного теста.
Что проверяем
- нулевую и обычную ставку;
- первые, промежуточные и последний платежи;
- досрочное уменьшение срока и платежа;
- сумму процентов и тела кредита;
- границы ввода и структурированные ошибки.