Some nice feedback on LGWT
William Martin forwarded me some written feedback on Learn Go With Tests from Kynan Ware which made my day.
I get a lot of friendly feedback from people on the work, but this is one of those where the author has taken the time to
explain why they enjoyed the book more specifically.
Before reading Learn Go With Tests, I read a Go different book that only had a chapter on the standard library’s testing suite. To say Learn Go With Tests expanded on that chapter would be an understatement. Getting hands on with the standard library and how it works was great and informative. Keep in mind that I do not have really any background in testing anyways, so I needed to be told both what features and patterns exist in a general sense and how they are used; Learn Go With Tests did just that and more.
I enjoyed seeing the TDD feedback loop in a hands-on way with concrete examples. The author took their time to explain why TDD is valuable in a “show, don’t tell” way.
Initially, the TDD loop seemed tedious and monotonous, but as I progressed through the book past the simple examples and into more complex territory, I found it to be actually fun, interesting, and very productive to get instant feedback on your work.
(The emphasis is mine). I have spent a lot of time directly and indirectly (e.g the book) coaching TDD and this mental leap is often the hardest one. Many people find it boring, many find it "unrealistic" and bemoan how TDD tutorials are often too simplistic, and don't apply in the real world.
TDD does work in the real world, but it takes time and practice. In my mind, one goal of TDD is breaking down work well enough so your real work, feels as simple as the examples you learned it with.
This was new to me (surprise!), but I like the idea that TDD is a design tool very much. I’m not going to repeat or summarize the book’s details on why or how it is used as a design tool, but I’ll just say that I ingested this idea and vibe with it very much.
It's gratifying this message is coming through to people who read the book, because this is often such a missed point of TDD. Sadly, many believe TDD is merely about achieving test coverage, but in The Why of TDD I write at length how it is so much bigger than that.
The author was also particularly good at answering questions that might come up as they come up. The moment I had a question in my mind, the next sentence addressed it. I thought it was beautifully written.
I didn’t have a place for this point in another heading, but I also wanted to mention how much I enjoyed just the overall introduction to testing patterns in general.