что он неправильно использует мой код:
1. Поставить условие в заголовок функции. Если пользователь предает неправильный аргумент, то не выполняется ни одно условие и Эликсир скажет пользователю, что такой функции нет. Так можно писать код очень быстро, да и опытный человек быстро сообразит, что надо читать документацию. Плюс приучаем читать документацию.
2. Не ставить условий, брать любой аргумент и проверять его тип, а если не тот, то выдавать исключение. Так получается много дополнительных строк кода, но можно писать супер понятные исключения, что в Эликсире как капля воды в пустыне, плюс скорость в поиске ошибок.
А как это делаете вы?
Последняя функция ловит все типы аргументов и кидает exceptions
Тут имхо от назначения функции все же зависит. Если апи внешний - лучше добавить обработку ожидаемых исключений и возврат красивой ошибки. Если апи внутренний - то ожидаемых исключений быть не должнои обработка ошибок это dead code
Обсуждают сегодня