Completed
Programming a robot
Class Central Classrooms beta
YouTube videos curated by Class Central.
Classroom Contents
Make Illegal States Unrepresentable - Techniques for Safer Code Design
Automatically move to the next video in the Classroom when playback concludes
- 1 Introduction
- 2 What went wrong
- 3 Outline
- 4 Financial System
- 5 State
- 6 Single State
- 7 Illegal States
- 8 Diagram
- 9 Representation
- 10 Impossible
- 11 The Ideal
- 12 Can you do it
- 13 Do something else
- 14 People really like coffee
- 15 Coffee is very complicated
- 16 Programming a robot
- 17 Ordering coffee
- 18 Ordering Irish coffee
- 19 What is the issue
- 20 Espresso
- 21 Other Illegal States
- 22 Why
- 23 Irish Coffee
- 24 algebraic data types
- 25 required dependencies
- 26 no exceptions
- 27 algebraic datatypes
- 28 not a magical solution
- 29 another scenario
- 30 tasty ratio
- 31 legal states
- 32 invariants
- 33 examples
- 34 more examples
- 35 brewing coffee
- 36 model brewing
- 37 desiredstatespace
- 38 imperative interface
- 39 adding expectations
- 40 implementing prep flow
- 41 type parameters
- 42 declarative code
- 43 easier to comprehend
- 44 potential bugs
- 45 fewer tests
- 46 safer refactoring
- 47 parallel refactoring
- 48 statespace
- 49 techniques
- 50 next steps
- 51 resources
- 52 bug
- 53 question