In this episode, Adam talks to Gary Bernhardt about building Execute Program, why he chose to build it as a full-stack TypeScript application, and the implications using TypeScript has on what you need to test.Topics include:Why Gary decided to write Execute Program as a full-stack TypeScript application instead of using a Ruby or Python backend like he may have traditionallyDo you actually have to write less tests if you have a good type system?What does a good type system give you that tests can't give you?Using io-ts to type check incoming dataHow to think about structuring your code to best take advantage of the benefits your type system gives you and minimize the need to write testsPushing conditional logic to the core of your system to reduce the number of tests you need to write at the edgesThe correlation between type errors and behavioral bugs, and how a type system can help you catch mistakes you don't think to test forDo type errors signal that you're missing a test?Structur
Comments