What you describe, seems to me a reaction to bottom-up ordering and imprecise naming, not the number of abstraction layers per se.
I find top-down ordering and good naming a tremendous time saver when reading code, so I ask about it in every code review. It allows you to stop scrolling at the level of detail, that answers your questions. Just think how much faster you would go through a number of modules if the functionality that you are debugging was at the top most of the time. Many small functions are actually of benefit given the above as they are easier to read and test.
Top-down sorting is one of the safest and easiest refactorings you can do, even without IDE tools. It’s a bit harder in languages like C, where you need additional header file to allow for top-down ordering, but still worth it.
What you describe, seems to me a reaction to bottom-up ordering and imprecise naming, not the number of abstraction layers per se.
I find top-down ordering and good naming a tremendous time saver when reading code, so I ask about it in every code review. It allows you to stop scrolling at the level of detail, that answers your questions. Just think how much faster you would go through a number of modules if the functionality that you are debugging was at the top most of the time. Many small functions are actually of benefit given the above as they are easier to read and test.
Top-down sorting is one of the safest and easiest refactorings you can do, even without IDE tools. It’s a bit harder in languages like C, where you need additional header file to allow for top-down ordering, but still worth it.