We try to build our apps into modules making it easier to maintain for instance for all apps as a starting point we will always have these modules:
This way we can separate out logic into smaller components it's still easy to dirty up the code. When you get busy it's very tempting to do too many things in one class/file
I find by separating our features into other classes helps to keep organised or even helpers for re-usable components