Как стать автором
Обновить

Комментарии 4

1. Не любые функции можно использовать в охранных выражениях. А это очень важный момент имеющий весьма веские причины (которые, впрочем, можно объяснить позже)
2. «Поэтому важно включать в объявление образец, который подойдет под любое значение» В общем случае это не верное замечание. Defensive programming противоречит идеологии эрланга (fail early / let it fail). Если к нам пришло что-либо неожиданное, лучше сразу прекратить исполнение, чтобы не испортить себе стейт или что-либо еще. Если существует разумное умолчание, то да, можно делать дефолтные клозы, но, скорее всего, это только создаст проблем в будущем.
Если существует разумное умолчание, то да, можно делать дефолтные клозы, но, скорее всего, это только создаст проблем в будущем.


Таки да. Дефолтные клозы — это нехорошо. Т.к. ваша функция/receive скорее всего принимает не те данные, на которые была раccчитана. А это значит, что имеет место просчёт в архитектуре.

Поэтому 'let it crash' — наше всё.
Да, вы правы. Я неверно выразился. Я имел в виду обработку допустимых ситуаций, но которые не предусмотрены явно.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации