История изменений
Исправление
Legioner,
(текущая версия)
:
Если мы пишем библиотеку для других людей, принято их рассматривать как идиотов, которые могут скармливать всё, что угодно. Тогда надо (в разумных мерах) фильтровать все входящие параметры на заведомо неподходящие значения и кидать IllegalArgumentException сразу в начале метода (документировав это в комментариях).
Если мы пишем библиотеку для себя, я себя дебилом не считаю и обычно способен не передавать что попало, поэтому я рассчитываю на рантайм, благо у Java он железобетонный и предсказуемо кинет исключение в нужный момент, ничего не попортив. Но если есть шансы, что мне вернёт какую-нибудь отрицательную скорость из-за входных параметров (т.е. ошибка пойдёт дальше), то лучше проверить, хотя бы assert-ом.
Исходная версия
Legioner,
:
Если мы пишем библиотеку для других людей, принято их рассматривать как идиотов, которые могут скармливать всё, что угодно. Тогда надо (в разумных мерах) фильтровать все входящие параметры на заведомо неподходящие значения и кидать IllegalArgumentException сразу в начале метода (документировав это в комментариях).
Если мы пишем библиотеку для себя, я себя дебилом не считаю и обычно способен не передавать что попало, поэтому я рассчитываю на рантайм, благо у Java он железобетонный и предсказуемо кинет исключение в нужный момент, ничего не попортив.