Not for me to judge.

I want MAX 2 screens in a single function (a single printed page, easy to flip up and down in a single keypress).

50-80 lines depending on font size and screen size.

This is what I find easiest to achieve a quick state load. And a quick state load means I can jump in and out of the code with minimal brain prep, which in turn means interruptions cost less.

But sometime the damn declarations run a couple of pages.

So if I can externalize the structure definitions and factor out the logic to maintain 2 page boundaries on functions, my code is simply cleaner, easier to read, easier to debug.

In the old days, when I was a novice C programmer (about a year into it on Tandy 6000 Xenix), I had a large function that contained a case statement. This function was in charge of interpreting a command line editorial macro language, and it had a huge number of organically grown exceptions.

When the compiler told me to simplify my code, it was simply too complex for it to handle, I knew I had a problem.