So, I've run across this idea a couple times. Basically, several sources out there are saying that using closures when defining your app.js (modules, controllers, etc.) is considered best practice.
Could someone break down why exactly this is considered a best practice and what we gain by doing it?
One example is the top answer to this question: Argument 'MainController' is not a function, got undefined in AngularJS