<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 13, 2016 at 11:06 PM, Charles Shuller <span dir="ltr"><<a href="mailto:charles.shuller@gmail.com" target="_blank">charles.shuller@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Is there any advantage to specifying a custom start_link in the supervisor callback module?</blockquote></div><br></div><div class="gmail_extra">It is often used to keep the "scope" of the calls consistent. If you have a call to e.g., gen_server:call/2 which is not inside the module defining the Module:handle_call/3 callback, then you are leaking information about the implementation to the outside caller and if you wish to switch to gen_statem later, you will have to find all call sites and change them.<br><br></div><div class="gmail_extra">The same could be said for a call to supervisor. By keeping it local to the module, you encapsulate the information about the supervisor into a module on its own and that information doesn't leak outside. Granted, it is rarer you wish to switch a supervisor to something else, but I have had the need for this a couple of times.<br><br></div><div class="gmail_extra"><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">J.</div>
</div></div>