Jump to ratings and reviews
Rate this book

Learning Test-Driven Development: A Polyglot Guide to Writing Uncluttered Code

Rate this book
Your code is a testament to your skills as a developer. No matter what language you use, code should be clean, elegant, and uncluttered. By using test-driven development (TDD), you'll write code that's easy to understand, retains its elegance, and works for months, even years, to come. With this indispensable guide, you'll learn how to use TDD with three different languages: Go, JavaScript, and Python. Author Saleem Siddiqui shows you how to tackle domain complexity using a unit test-driven approach. TDD partitions requirements into small, implementable features, enabling you to solve problems irrespective of the languages and frameworks you use. With Learning Test-Driven Development at your side, you'll learn how to incorporate TDD into your regular coding practice. This book helps you:

277 pages, Paperback

Published November 16, 2021

13 people are currently reading
84 people want to read

About the author

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
4 (14%)
4 stars
8 (29%)
3 stars
8 (29%)
2 stars
6 (22%)
1 star
1 (3%)
Displaying 1 - 7 of 7 reviews
600 reviews11 followers
July 23, 2023
It could have been THE book for a TDD introduction, but unfortunately the author had the stupid idea of covering 3 languages at once. Not only do they change in the order with each chapter (one it is JavaScript, Go, Python, then it is Python, Go, JavaScript) but you also need to read all 3 languages to not miss anything important. However, even with chapters dedicated to only one language, the author misses the chance to explain the programming-language specific tooling that could help you with TDD.

Unless you try to learn Go, JavaScript, and Python at the same time you try to learn TDD, this book will be no use to you.
1 review
March 25, 2023
This book offers a good introduction into test-driven development.. for a beginner. For an advanced or expert programmer the book reads like it has the same example for three languages just to fill up enough space to be considered a book. TDD is very simple as it only has three steps. You have to get into the habit of using it daily for it to stick, and this book offers a good intro to it, but cannot enforce it. Only you can do that. Maybe the greatest thing I could get out of it myself is how much I need to work to re-educate myself so I will start writing tests before I write code.
Profile Image for Aaron McAdam.
81 reviews1 follower
July 8, 2022
I was very disappointed with this book.

The author argues that JavaScript test frameworks are too different and uses the node assert library instead. He then spends far too much time implementing a test harness when Jest would have done the job. Showing multiple languages, while a noble idea, just pads out the page length.

The example when its given actual airtime, is pretty good, but I’d have liked to see a lot more on that than writing a test framework in JavaScript.
Profile Image for Christopher Wilson.
Author 1 book2 followers
May 15, 2022
A good tutorial introduction to the process of TDD. It uses Go, JavaScript, and Python side-by-side and so is widely applicable to many new programmers. I liked the discussions during the “refactor” stages about what to change and why; they felt very thorough and well-reasoned.
Profile Image for Joel Hess.
5 reviews
March 13, 2022
A Decent primer on the concept. Walked through a progression of changes in Go, Javascript and Python.
Profile Image for Nicholas.
13 reviews
October 23, 2022
Completed using Python, would like to revisit in the future using Go.
1 review
May 27, 2023
Decent as a tutorial for beginners, but would have appreciated more depth. The polyglot approach feels gimmicky and repetitive, since you are just writing the same program in Go, JavaScript and Python.
Displaying 1 - 7 of 7 reviews

Can't find what you're looking for?

Get help and learn more about the design.