Some ideas from functional programming can help us improve the unit tests for our object-oriented code.
Adding type checking to dynamically typed languages is possible, and awesome!
Chances are you’ve worked with the any
type in TypeScript. It’s widely overused, and subtly dangerous. Let’s explore why you should avoid it, and when you might truly need to use it.
Solving these bugs often involves doing less, but thinking through them can be tricky.
Learn how to write tests so they’re easy to read and your colleagues will thank you.
Naming presenters can be challenging. By shifting our perspective to look at what abstraction we are representing rather than the data being presented, we can bring clarity to our presenters, views, and models.
Many people ask, “How do I find time to refactor?” I think the question itself betrays a misunderstanding of refactoring. Let me tell you when I refactor.
Refactoring has a specific meaning. When we misuse the word, we lose the ability to communicate an important concept. Let’s revisit what refactoring is and what it is not.
Finding the right balance between writing quality software and shipping features rapidly.
Sum types are a powerful domain modeling technique. Let’s look at how to use them to remove invalid states.