Решил очередную задачу и получил Legend-ачивку "OCaml Addict" (профиль) за то, что помог Марвину выйти из двигателя. Сделал скриншот ачивки, а котика нарисовал просто так.
Решение задач у меня сейчас проходит примерно так:
- Добиться прохождения всех тестов. На этом этапе идёт в ход всё плохое, что есть в программирование: magic number, magic string, хардкод, копипаст - большая часть из-за того, что я плохо знаю OCaml.
- Убрать явные косяки, копипаст, magic numbers. В целом, сделать так, чтобы код можно было читать и понять. На этом этапе код часто уменьшается в размерах.
- Ввести типы данных, избавиться от строк и чисел в
math ... with
, сделать обработку ошибок и проверку на кривые данные. Хотя кривых данных в тестах не бывает, тут я уже делаю это просто для практики.