A sub or function that grows too large tends to aggregate too many responsibilities. Such sub or function inevitably become harder to understand
and therefore harder to maintain.
Above a specific threshold, it is strongly advised to refactor into smaller subs or functions which focus on well-defined tasks. Those smaller subs
or functions will not only be easier to understand, but also probably easier to test.