Chats with Kent C. Dodds artwork

Make Your Apps Resilient UsingFinite State Machines - With David Khourshid

Chats with Kent C. Dodds

English - August 05, 2019 20:14 - 32 minutes - 29.7 MB - ★★★★★ - 16 ratings
Technology Education developer web internet programmer programming development javascript tech node front end Homepage Download Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed


In this episode, David Khourshid gives the rundown on how finite state machines can make your app more testable, more resilient to bugs, and easier to refactor.


David's initial interest in finite state machines stemmed from his background in music. With music, there is a universal notation that crosses genre boundaries. David thought what if there could be music notation for logic? Well, it ends up people have been trying to figure this out for the last thirty years.


A finite state machine can only be in exactly one state out of a limited number of possible states. The machine can transition to another state through explicitly defined events.


David also chats with Kent about extended finite state machines, how state machines can be used to simplify integration testing, the differences between xstate and redux.


This episode's call to action is to take whatever feature you are working on and model it out in your head as a finite state machine, this can help you find potential bugs and also could lead you to implement a finite state machine style solution to avoid those bugs.

Resources

Wikipedia: Finite State Machine
xstate

David Khourshid

Twitter
Github
Medium

Kent C. Dodds

Website
Twitter
Github
Youtube
Testing JavaScript

Twitter Mentions