But a major point of a function is that you not have to read its implementation details.
But a major point of a function is that you not have to read its implementation details.
What about exceptions raised within the function? Will you also put them in the descriptive function name? ;)
Modularity. Part of it is defining a proper Interface for using the hidden complexity.
Exceptions are only one example. Functions can have behavior, inner states, prior calling requirements etc… you cannot read from its mere prototype.
Do you really want everyone to read the inner code to learn that?
This risk also applies to descriptive function names. They can be poor, wrong or outdated, too.