¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: [TDD] Erroneous Assertion about TDD


Donaldson, John
 

Charlie,

Drawing a parallel to sonnets from TDD - very nice!
But perhaps the even shorter haiku would be an even better analogy?
(Besides, it's hard to think of myself as the Shakespeare of unit-testing :-))

John D.

-----Original Message-----
From: testdrivendevelopment@... [mailto:testdrivendevelopment@...] On Behalf Of Charlie Poole
Sent: 20 April 2013 07:41
To: testdrivendevelopment@...
Subject: [TDD] Erroneous Assertion about TDD

Hi All,

Here's an excerpt from a newsletter I got from O'Reilly today...

"For many old-school software engineers, *developing code* has always been *as much an art as a science*. But as the industry focuses more on practices such as Test-Driven Development, and Patterns become the lingua franca of programming, *is there any room left for real creativity in coding?* Or, has it become an exercise in cookie-cutter production, putting together components in new ways, but without any real room for individual style?"

How can such misunderstanding can still exist? Anyway, they asked for opinions and I sent this:

"I was a bit dismayed at your question "...as the industry focuses more on practices such as Test-Driven Development, and Patterns become the lingua franca of programming, is there any room left for real creativity in coding?"

"I'll address the point as it applies to Test-Driven Development, since that's closest to my heart. I'm an advocate of TDD as well as the maintainer of NUnit, a unit-test framework that aims to facilitate TDD.

"To put it baldly, anyone who finds that Test-Driven Development stifles their creativity simply isn't doing TDD as it's intended to be practiced.
The self-imposed discipline of first discovering tests that will require the development of the production code we actually want to write is without a doubt difficult to learn. But once it is learned, it's a source of great creativity. Just as the strict form of the sonnet allowed Shakespeare to channel his creativity, the discipline of TDD demands creativity from developers who adopt it.

"Of course, doing TDD this way doesn't just happen. First and foremost, as hinted in the preceding paragraph, it's a discipline that must be first understood and chosen by the programmer - either as an individual or as part of a team that decides to adopt TDD. Management-imposed TDD - like most management-imposed technical practices - only succeeds in taking responsibility away from the programmer.

"Test-Driven Development is a technique discovered and advocated by programmers for programmers. It's a spark for creativity. When it's reinterpreted as a set of rules to be imposed on the programmers, it can easily have the opposite affect. But that's not unique to TDD. We've seen it before with many other techniques and will likely see it again."

What do you think? Have you heard such complaints? What do you tell people in response?

Charlie






------------------------------------

Yahoo! Groups Links

Join [email protected] to automatically receive all group messages.