3 ms·
On the other hand, parceling a large function into smaller functions can create indirection that is even harder to follow and harder to verify as bug-free.
by hombre_fatal 2y ago
On the other hand, parceling a large function into smaller functions can create indirection that is even harder to follow and harder to verify as bug-free.
- kmoser 2y agoAlso, the act of breaking it into smaller functions itself may introduce more bugs.
- graemep 2y agoYes, rewrites are risky, but I really meant not writing such large functions in the first place.
- acdha 2y agoMaybe, but it usually has the opposite effect. If you have well-designed and named functions the indirection is a feature since it reduces the amount of context you need to remember and gives you a visible contract instead of having to reason about a large block of code.
- nyanpasu64 2y agoThis works if you know what each callee performs, which you frequently don't when you're visiting a new codebase (it may have an unknown function you have to read to know, functionality not relevant to your problem, or you may have to analyze two or more functions in the context of each other to understand a bug).