I am familiar with the concept of breaking down a really big, complicated function into smaller functions, keeping things simpler and easier to maintain. It's all about "divide and conquer". I know how to organize classes into their own header and .cpp files--again, helping to logically compartmentalize each part of a program. Also, I personally aim to keep every function I write able to completely fit into a single screen; no scrolling required. It keeps things organized and simpler by making the code "small" (in the sense that individual parts are smaller and therefore easier to understand, modify, and so forth).
So my question is: how big should the "main" function be? I find tons of example code, FAQs, open source repositories, and such where the "main" function is absolutely massive. I don't know if this is because of its name of "main" which people just get used to actually using as a main/central function. I don't know if this is because this is the only way to do things (as I am a very novice programmer). In the case of example code, maybe this approach lends itself towards teaching C++ more easily.
I have never done it any other way myself--I basically follow the practices of online tutorials and textbooks. But, I think I would like to change my practices and consistently make main() a small function--able to fit in full into a single screen. Does anybody else implement this practice? If so, what is the best way to do it?