Goodreads helps you keep track of books you want to read.
Start by marking “TDD. Sztuka tworzenia dobrego kodu” as Want to Read:
TDD. Sztuka tworzenia dobrego kodu
Enlarge cover
Rate this book
Clear rating
Open Preview

TDD. Sztuka tworzenia dobrego kodu

(A Kent Beck Signature Book)

by
4.06  ·  Rating details ·  3,270 ratings  ·  149 reviews
Twórz niezawodny kod!

Idealny kod, pokryty w pełni testami, to marzenie każdego dewelopera. Niestety, marzenia zazwyczaj rozmijają się z rzeczywistością. Codzienność większości programistów to nieczytelny kod i brak testów. Są to doskonałe warunki do powstawania błędów, często bardzo trudnych do wykrycia. Czy jest sposób, żeby wybrnąć z tego ślepego zaułka? Czy
...more
Kindle Edition, 232 pages
Published March 14th 2014 by Helion (first published January 1st 2002)
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about TDD. Sztuka tworzenia dobrego kodu, please sign up.

Be the first to ask a question about TDD. Sztuka tworzenia dobrego kodu

This book is not yet featured on Listopia. Add this book to your favorite list »

Community Reviews

Showing 1-30
Average rating 4.06  · 
Rating details
 ·  3,270 ratings  ·  149 reviews


More filters
 | 
Sort order
Start your review of TDD. Sztuka tworzenia dobrego kodu
Francis Fish
Apr 28, 2010 rated it it was amazing  ·  review of another edition
This book has a simple purpose: show in clear and understandable language how to approach TDD. Nothing more or less, and he succeeds very well.

Other reviewers have commented that they were annoyed about how this book didn't cover mocks and stubs and a lot of the other artefacts of testing - that wasn't Beck's purpose, he wanted to show how it's done and then catalogue the patterns needed in order to make it work. While he covered mock and null objects he didn't go into the details be
...more
Erika RS
This is one of those books that I would have rated more highly a few years ago. TDD is not a particularly complicated concept and, these days, it's not particularly new either. Thus, the explanations I've come across online[1] and the one book I've read on the topic[2] have been quite sufficient exposure, making reading another book on the topic superfluous.

That said, Beck's book was, in my opinion, better than Test-Driven Development: A Practical Guide by David Astels. Astels' book is not bad,
...more
Ulas Tuerkmen
Oct 03, 2018 rated it really liked it  ·  review of another edition
I should have read this book earlier. When the whole TDD thing exploded, the web was, for a while, plastered with blog posts and tutorials on the whys and hows of TDD and unit tests. Everyone agreed that automated testing was a great thing; the opinions differed only on when to write the tests, and what the units under test should be. I thought I had understood and soaked in the main tenets of TDD, and did not need to read this relatively small book.

So, what is TDD? It's a developmen
...more
Marshall
Feb 25, 2012 rated it really liked it  ·  review of another edition
Such a wonderfully written book on Test-Driven Development (TDD). It walks through several easy-to-follow examples, and then wraps up with a nice discussion of TDD and some of the patterns that show up during this style of development. This book is a breeze to read, and very enlightening. I'm so tired of ugly code that breaks all the time, so I was hoping to be persuaded that TDD really is the best way to "write clean code that works." This book definitely persuaded me.

The surprising
...more
Baal Of
Aug 28, 2015 rated it really liked it  ·  review of another edition
Shelves: non-fiction
This is a good introduction to test driven development, and this book helped me better understand what TDD really is. In particular the points about breaking things down to small steps, refactoring, and always working quickly to a green bar were very helpful. I did find some weird problems with the python example, which might be due to the fact I decided to go with Python3, and the book used Python2. Specifically, I was working through the examples, and found that when I deliberately went off sc ...more
Daniel
Mar 09, 2009 rated it it was amazing  ·  review of another edition
Shelves: work
This is a different kind of programming book. It's a relatively fun book to read.

It's a good companion's to Fowler's Refactoring. For some reason, I'll always remember Beck from his 'coding smells' concept - it comes from his grandma saying "if it smells [bad:], change it" or something like that.

It too is non-intuitive at first and goes against a lot of learnings. But, all great concepts start out that way. It essentially tells you to write your tests first and (only then), write the smallest
...more
Alla
Oct 07, 2015 rated it it was amazing  ·  review of another edition
This is a future classic and exactly what you need to refine your test-first development skills. Even if you thought you were doing TDD before reading this book you may have been missing some extremely simple and yet powerful tricks Beck has up his sleeve and is happy to share. Try solving some simple problems TDD as you read it and you will know what to pay attention to as you read on.

On a side note the author shares his cheeky personality as he writes which makes reading even more fun.
Eduards Sizovs
Sep 08, 2019 rated it it was amazing  ·  review of another edition
There are only two books you need to read to fall in love with TDD – this book and Growing Object-Oriented Software Guided by Tests. Whereas GOOS is more practical and showing how to test-drive real applications, Kent's book makes you – the reader – feel the rhythm of TDD. It's like pairing together with Kent. The book also covers non-technical aspects of TDD, such as developer's happiness and productivity.
Paul Keen
Takeoffs:

* Before add new code ask: How could I write small/fast tests for this?
* Tests should not know about function body: The Blackbox strategy.
* Do not overwhelm the test. Each new test should test the new micro behavior.
* Train your TDD by micro-stepped refactorings.

David Workman
This fairly slim tome is overflowing with useful information from the 2 worked examples of real-world problems being solved by the author (Kent Beck, of XP and Smalltalk fame, among other things) using Test Driven Development.

The book starts with TDD being applied to the problem of doing multi-currency conversions with given exchange rates. Kent Beck does a chapter per test and associated refactoring, and this leads to extremely short chapters but where almost the entire chapter is useful infor
...more
Vincent Nguyen
Mar 24, 2017 rated it it was amazing  ·  review of another edition
The book has 3 Parts - You can jump to "Part 3: Patterns for Test Driven Development" to read without reading Part 1 and Part 2.

I read this book with a friend, he and I have few notes that can share for you guys:

- Many people think TDD is a way to test: You write tests first and write code later. I have to say: You're wrong - 100% wrong.

- TDD is a way that can help you improve your performance when working, TDD can help you become a better developer. TDD is for yourself,/>I
...more
John
I must have read this back when it came out because I remember some of the jokes. This is a fascinating book about TDD, esp. if you read it now, given the maturation of the development model. On p. 199 there is a tantalizing section on "Application" TDD, where in a paragraph Beck anticipates BDD -- and how hard BDD can be if you don't properly rope in stakeholders as collaborators. I don't think we've figured that one out yet.

The book is a weird mix. First there's a section where Bec
...more
pwujczyk
Aug 05, 2018 rated it did not like it  ·  review of another edition
Shelves: tech
I am very amused how much people loves this book. It describes approach to TDD, but from my perspective (after couple years of development practice) done in completely wrong way. In the first part we are observing how author wrote code and refactor its. With the new requirements he adds functionality. At the beginning he just copy the code, and than refactor. My experience tells: no way. In complicated projects the final result of the application will be application with duplication. Of course a ...more
Stefan Teixeira
Jun 25, 2015 rated it it was amazing  ·  review of another edition
This book is definitely a must-read for those who want to study about TDD. The book is easy to read and, at the same time, full of extremely valuable theory and practice about Test Driven Development.
Eliran Teller
Oct 17, 2013 rated it really liked it  ·  review of another edition
Shelves: programming
Brilliantly done, it's given me a lot to think of in terms of programming.
A bit too abstract in some points (thus the 4 star rating), but i guess a revised version with a bit more examples and less abstraction would get a 5 star rating.
An Nguyen
Good to know Java and Python beforehand as the 2 examples are written in those languages. Decent read.
Jamis Buck
Dec 31, 2010 rated it really liked it  ·  review of another edition
I haven't actually read the whole thing, but the first half was pretty amazing. I generally have a hard time with tech books, which is why I probably won't actually finish the book. :)
Louise Douglas
Jul 03, 2018 rated it really liked it  ·  review of another edition
Shelves: paperback
As my first real dive into test driven development, this book was a great introduction into the practices and the habits that are involved. The one thing that I wish I had done when I started reading is actually trying to implement the examples that are in the book, as I think the practical side would have helped the examples sink in a little bit more.

Saying that, I learn really well from books, and I had no trouble following the code examples from one to another and having the chang
...more
Michael Gaudet
Dec 01, 2018 rated it really liked it  ·  review of another edition
Overall this book is exactly what I was expecting: an introduction to test driven development (TDD) with the author working step-by-step through concrete examples. It’s really great to see that in action versus the purely theoretical treatments given in other books.

This book is in three main parts: the first section covers the creation of a chunk of a money-changing application in a C-family language (Java? It’s simple enough that it doesn’t really matter). I found this easy to follo
...more
Alberto Romero
Jul 13, 2017 rated it it was amazing  ·  review of another edition
This book totally changed my way of seeing TDD.
Since the very beginning, the book tells you about the benefits of using TDD, and how awesome it is to split big problems into small chunks of tests, and the whole first chapter is an example of how to drive your design entirely by doing testing.
Without a doubt, the money example was awesome, and most of the take outs from each of the chapters are something we really need to write down to remember at the moment of writing tests.
...more
André
Feb 28, 2018 rated it really liked it  ·  review of another edition
Shelves: programming
Reads as a workshop on TDD on several instances.
The book explains TDD step by step very well (it's in the title that it will be explained "By Example").

What I liked most about the book:
- the code examples; how TDD progresses, useful and working code is "extracted" and drives the design
- feels like a mentoring on TDD, not just a description on it but really the author transmits it's passion on TDD and invites you to join them on this way of structuring and thinking
...more
Claus Aranha
Mar 21, 2017 rated it really liked it  ·  review of another edition
Concrete, Clear Intro to TDD for Newbies like me.

I've heard many social media connections raving about TDD before. Tests as documentation, they said, make sure your changes don't break your code, they said. But whenever I had some time to look for information on the topic, I could never find a concise tutorial or description that I could immediately apply to my own working framework. This book filled that hole quite nicely.

The first half of the book is two example cases, one in
...more
Dun Yang
Jul 09, 2018 rated it it was amazing  ·  review of another edition
Having read a Java-specific TDD book and having the chance to try and apply it on small programming exercises, I find that the book showcases some important concepts and principles that one might not necessary be able to pick up from other books and articles. In particular, the following are valuable lessons that are new to me:
1. The rationale behind learning to take small steps in TDD -> it gives you the ability to choose to take smaller steps as and when we need it (solves the mystery
...more
Raydhitya Yoseph
Nov 25, 2018 rated it really liked it  ·  review of another edition
I was introduced to test-driven development by someone and I tried to read the book afterward. This book shows example cases on developing simple programs by writing tests first, thus its name. Additionally, this books contains few discussions on justification of doing test-driven development and its impact on development.

As a guide book, this books is good, but it will not break bad habits of writing test after writing production code. It needs to give more powerful reasons to do br
...more
John Hearn
Oct 07, 2018 rated it really liked it  ·  review of another edition
Shelves: software
Inside-out TDD done properly and with humour.
Two takeaways from this book not found in a lot of other material:
1) A todo list of the stuff you've realised you'll need but haven't got to yet. Great for resisting the urge to start doing the first thing that comes into your mind. Another way of doing this is to apply the outside-in style of TDD where, in a way, your todo list is represented by your acceptance test.
2) Removing duplication (implicit or explicit) between your code and you
...more
Ilya Ivanov
Great introduction to Test Driven Development (TDD). Kent wrote this book more than 15 years ago, but I think this book is still very relevant and covers lots of useful insights, techniques and patterns in working with TDD.

I've been working with TDD for quite some time and it was always challenging to apply TDD in front-end development. Especially for an existing project without any automated tests at all. Kent gave a bunch of approaches and mindsets on how to think about your craft. Third part
...more
Håvard Estensen
The book provides good, but sometimes lengthy, examples of how TDD should be used when writing code. I agree about using TDD for functions that easily can be tested independently, but a problem arises when you are writing more complex functions like network calls or views. It's no longer trivial to write a test, you have to read up on patterns, best-practices, and frameworks. The book feels a bit oldfashioned and could definitely be updated to address that we are increasingly using a microservic ...more
Romans Karpelcevs
Aug 03, 2017 rated it it was amazing  ·  review of another edition
Shelves: tech, non-fiction
"Why didn't I read it before?" was the main question in my head while finally reading this book.
With more than 80 highlights in my e-book version it turned out to be one of the most condensed and useful IT books I've read recently. Packed with phrases I can cite at programmer cocktail parties for months to come, it gives a great explanation with useful examples of the TDD approach, noting the tradeoffs and giving many tips and tricks to use when developing.

Recommending to any d
...more
Boyan
Jan 22, 2019 rated it really liked it  ·  review of another edition
Although I already have experience with TDD, it was nice reading this, in my eyes, essential book. I can definitely recommend it to both people with experience and newbies, as it clearly goes throughout the basics of TDD and other dilemmas one encounters on everyday basis. It gives further place for thoughts while developing software.
Michał Kostrzewa
Even if you are negatively opinionated about TDD, it's very useful to know different perspectives on common problems (kinda like knowing functional programming - you never see code the same way again). You will find lots of advice here regarding tests and testability even if you are not a TDD practicioner.
« previous 1 3 4 5 next »

Readers also enjoyed

  • Working Effectively with Legacy Code
  • Refactoring: Improving the Design of Existing Code
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • The Pragmatic Programmer: From Journeyman to Master
  • Head First Design Patterns
  • Clean Architecture
  • Pragmatic Thinking and Learning: Refactor Your Wetware
  • The Passionate Programmer
  • Patterns of Enterprise Application Architecture
  • Refactoring to Patterns
  • Effective Java Programming Language Guide
  • Implementing Domain-Driven Design
  • Practices of an Agile Developer: Working in the Real World
  • Code Complete
  • Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

Other books in the series

A Kent Beck Signature Book (7 books)
  • Implementation Patterns
  • ATDD by Example: A Practical Guide to Acceptance Test-Driven Development
  • Growing Object-Oriented Software, Guided by Tests
  • User Stories Applied: For Agile Software Development
  • Implementing Lean Software Development: From Concept to Cash
  • Leading Lean Software Development: Results Are Not the Point
“Used Pluggable Adaptor, which we promise not to use again for four months, minimum, because it makes code hard to statically analyze.” 0 likes
“If you're happy slamming some code together that more or less works and you're happy never looking at the result again, TDD is not for you. TDD rests on a charmingly naïve geekoid assumption that if you write better code, you'll be more successful. TDD helps you to pay attention to the right issues at the right time so you can make your designs cleaner, you can refine your designs as you learn.” 0 likes
More quotes…