Artwork

Content provided by Kent C. Dodds. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Kent C. Dodds or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Player FM - Podcast App
Go offline with the Player FM app!

Make Your Apps Resilient UsingFinite State Machines With David Khourshid

32:29
 
Share
 

Manage episode 239492332 series 2530175
Content provided by Kent C. Dodds. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Kent C. Dodds or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.

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.


Homework

  • Take whatever feature you are working on and model it out in your head as a finite state machine

Resources

Guest: David Khourshid

Host: Kent C. Dodds

  continue reading

115 episodes

Artwork
iconShare
 
Manage episode 239492332 series 2530175
Content provided by Kent C. Dodds. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Kent C. Dodds or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.

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.


Homework

  • Take whatever feature you are working on and model it out in your head as a finite state machine

Resources

Guest: David Khourshid

Host: Kent C. Dodds

  continue reading

115 episodes

Alle episoder

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Quick Reference Guide

Copyright 2025 | Privacy Policy | Terms of Service | | Copyright
Listen to this show while you explore
Play