Test-driven development, object-oriented design, and functional programming converge on some similar ideas.
A strict type system doesn’t mean inflexible. We can bend it to meet our needs with the utilities that ship with TypeScript.
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.