问:我想知道在同一模块文件中定义多个行为的优缺点。
E.g。
-module(someapp_sup).
-behavior(supervisor).
-behavior(application).
使用这种布局,我可以保存模块文件,同时在可维护性方面没有太多损失(整个应用程序通过someapp_sup:start()
启动)。
答案 0 :(得分:17)
只要行为中定义的回调不与另一个行为的回调冲突(例如,你定义了自己的行为),那么除了可能更令人困惑的代码之外,这样做没有任何问题。显然你可以用一些好的评论来遏制它,并在文件中合理地放置代码。