38 ms·
My states have entry() and exit() functions that do things like you describe.
by thebruce87m 4y ago
My states have entry() and exit() functions that do things like you describe.
- anonymous_sorry 4y agoLets say a PR can go from: Draft->Closed/Abandoned Draft->In Review Changes Requested->In Review I'm not sure "assign reviewer" would fit either in Draft.exit() or InReview.entry(). I guess you'd implement something like "ensure reviewer assigned" in InReview.entry() instead. Which would work, but would itself contain the sort of state-dependent logic that a state machine is meant to surface.
- thebruce87m 4y agoPutting it in the entry is probably what I’d do, or I’d split the “InReview” state into its own sub state machine. It’s hard to reason exactly with imaginary scenarios though.