== Why is this an issue?

A coroutine that grows too large tends to aggregate too many responsibilities.

Such coroutines inevitably become harder to understand and therefore harder to maintain. 


Above a specific threshold, it is strongly advised to refactor into smaller functions which focus on well-defined tasks. It might be difficult to split the parts of a coroutine that contain ``++co_yield++`` or ``++co_await++`` statements, but the other parts can be split into normal functions.


These smaller functions will not only be easier to understand, but also probably easier to test.


ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

This coroutine "XXXX" has {0} lines of code, which is greater than the {1} authorized. Split it into smaller coroutines or functions.


=== Parameters

.max
****
_INTEGER_

----
100
----

Maximum authorized lines of code in a function
****


endif::env-github,rspecator-view[]
