title: Is it making sense to define module as `services`, `factories`?
body: <p>In one of our angular project, we defined some modules, like:</p>
  
  <pre><code>angular.module("services", [])....
  angular.module("controllers", ['services'])....
  angular.module("factories", [])....
  </code></pre>
  
  <p>Then make a main module depending on them:</p>
  
  <pre><code>angular.module("app", ['services', 'controllers', 'factories'])
  </code></pre>
  
  <p>Some colleague thinks this way is not good, he prefers to group modules by business features, like:</p>
  
  <pre><code>angular.module("login", [])....
  angular.module("user-admin", [])....
  angular.module("post-admin", [])....
  </code></pre>
  
  <p>Then combine them together:</p>
  
  <pre><code>angular.module("app", ['login', 'user-admin', 'post-admin'])
  </code></pre>
  
  <p>I think his approach is making sense, but I'm not sure the best practice to define modules. </p>
  
  <p>What rules we should follow when defining modules?</p>