Going against the grain here, but personally as I've gotten more experience and worked in larger code bases I've completely reversed my habit of breaking functions up into smaller functions to supposedly make them easier to understand.
I think this is a great point that most people forget. If you build something specifically for editing code you can do something cooler than vim/emacs and I've been working on that specific idea: https://youtu.be/owuuFxDBQh4?si=tqYi-RqvFQa6kI8h
In theory it should work for many languages with minimal support. In practice I've done some testing with typescript, Rust and Go and it largely works.
A vscode extension that aims to be "vim for code' meaning that it has first class motions for programming concepts like functions, arguments, etc. quick demo:
I'm working on something similar (not as far along), a vscode extension that has ideas like functions, parameters, etc as first class ideas (so press f to select a function) and also does things like adding a newline and a space where appropriate during insert actions.
The only argument I can think of against this would be that it would maybe slightly discourage adding the verbose details and would generally decrease the quality of error messages slightly. That said, even so it's probably worth the trade.