|
|
|
|
|
by mtkd
3032 days ago
|
|
That faster than linear maintenance growth is exactly why you need SMs. You don't need to test every scenario - only the critical positive/negative ones. If you abstract out all the generic SM logic you can have a neat source file per SM that contains only the allowed transition mappings or do something like https://github.com/pluginaweek/state_machine where the transitions are contained behind methods. My experience with recursion has been the reverse - the more recursion in use the less predictable the code behaves (at least initially) - but even just a little bit of SM usage can increase stability from the start and also forces you to think about all the states required. |
|