An action-level method represents a narrowly scoped, low-level operation in a narrative code hierarchy. It gives a recognizable operation a name, allowing scene-level methods to compose those actions into a readable story. section 2.5
Extract an action-level method when it improves the caller’s story:
- Use it for a cohesive low-level operation whose name communicates intent more clearly than its implementation. section 2.5
- Keep the caller at a uniform level of abstraction rather than extracting methods merely to satisfy a formal narrative level. section 2.5
- Let scene-level methods compose actions; demote a proposed scene that calls no action and contains only direct inline logic. section 2.5
Extract a method only when it earns its place. Do not extract a method only to satisfy a narrative level. Narrative levels describe useful structure; they are not a quota system. If a caller is already short, readable, and at one clear level of abstraction, keep the story there. Extract a method when **any** of these holds: 1. The caller would exceed its chunk budget without the extraction. 2. The group names a cohesive business concept that the individual names cannot convey alone. 3. The extraction keeps the caller at a uniform level of abstraction. 4. The expression is complex, repeated, or hides intent that a name would reveal. Hard blockers (if any, DO NOT extract): 1. Caller is already within budget and readable. 2. Extraction does not make the caller easier to read. 3. The extracted body contains only one simple chunk. 4. The extracted method merely groups already clear calls and adds no domain concept.
Use the extraction criteria to distinguish a meaningful action from an unnecessary wrapper. section 2.5
