Preface
What excites me about Svelte? Its simplicity, elegance, and pragmatic design ethos. Its growing success in the marketplace suggests that other programmers feel the same way too. I’m not surprised by this. When we write software for the JavaScript ecosystem, we have a choice: we can either accept and be consumed by the complexity of its primary constituents (React, Node.js, webpack, Babel, and so on) or we can actively seek out the marginalized products and processes that aim to simplify our work.
It’ll be no surprise to you that I place Test-Driven Development (TDD) firmly in this second camp. Because without it, what you have is a development workflow that largely consists of chasing bugs and carrying a lot of context in your head. This is always what I think of as the bad old days.
When I first started programming as a youngster, I remember the infuriating experience of debugging – writing some code, trying it out, finding bugs, and struggling for hours to figure out where the errors were hidden in my code. It seemed like a natural part of programming: devoting a large portion of my time to debugging. And this carried through into my first job as a C++ desktop application developer. (It wasn’t long before I discovered TDD and how it could help me have a simpler, quieter, calmer life.)
Then there’s the mental context you need when you plan out a grand design for the next feature you’re about to implement. You have to know where you’re at, what you’ve done, and what’s next, and do your best to not stray from the path. That’s hard when you’re being derailed by debugging and other distractions.
Sure, you can write a to-do list or keep a diary, but why not write some automated tests instead? They not only remind you where you’re at but they check for bugs, too.
That is essentially the idea behind TDD.
And if you like Svelte because it simplifies your life and makes you feel like you’re swimming rather than wading through mud, I think you’ll also like TDD. This book shows you the how and why of Svelte with TDD. I hope you enjoy it. Thanks for reading!