
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
40 lines
985 B
Plaintext
40 lines
985 B
Plaintext
== 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[]
|