Erlang: множественное поведение, определенное в том же модуле?
Q: я хотел бы иметь представление о плюсах и минусах определения множественного поведения в том же файле модуля.
например.
-module(someapp_sup).
-behavior(supervisor).
-behavior(application).
Используя этот вид макета, я могу сохранить файл модуля, не теряя при этом значительной части поддержки (все приложение запускается через someapp_sup:start()
).
Ответы
Ответ 1
Пока обратные вызовы, определенные в поведении, не конфликтуют с обратным вызовом другого поведения (например, вы определили свое собственное поведение, например), тогда нет ничего плохого в этом, кроме потенциально более запутывающего кода. Очевидно, что вы можете обуздать это с помощью замечательных комментариев и разумно записать код в файле.