Ok this can be done for sure. It is not considered to be a best practice because you will end up quite fast with a code soup. In general the smallest pieces of code you have the best for your SPA's structure. You achieve abstraction and hell better separation of concerns. In the end you can manage your app way better. This is why nowadays front end logic moves to components etc so we can achieve this even better. So the answer is this yes you can do this but no it is not the best way to do it. If i were you i would drop controllers for components in AngularJS 1.5.x