Trivial code can go into a single file, but eventuall you have a mess. Eventually you are going to want to resuse things, then you find out it's easier to build small units. In time you realize software is built with a number of blocks, which may be abstracted. Then it happens. You learn architecture. Next thing you know, you are sailing around with astronaughts through the galaxy and spending times in ivory towers to stay away from the unelightened. Fear naught for these are musing from my solar sail.
Architecture is what makes stuff flow easier when building; providing the pipes which can be maintained.
NOT THE LINKS
I would suggest that I'm not lazy and eventually cover this subject on here...but until there you are going to have to deal with a STUB.
Over the years I've heard a lot of banter regarding the best methods of organizing the files in a project.
The tranditional approach of most web projects has been to split the files by role within the framework.
For instance a template would go into a
views fold on Sinatra.
In rails your database entities go into
And many other frameworks encourage this behavior out of the box.
This is all fine and dandy when you've got a few models and a handful of views. However this doens't scale well past a few concerns of your application. Once your application grows up, your identity management is now scattered about the file system. Along with your actual program concern. Sure these keep your code separated by concern of sterotype of the framework role. However this scatters your application concern among multiple folders, while obfuscating what your application actually does.