TDD is not about tests (as a bug-finding/debugger tool) at all. And the
anti-regression feature of TDD is just the secondary one.

First of all, TDD is about structuring thinking/creation process. And
"test" here is a tool that allows and makes developer to formalize
requirements and to translate them to the language they will be implemented
in. This starts and really drives coding. Thus, a programmer that really
masters TDD (really means an ability to apply "pure" TDD for all
programming activities: both top-down and bottom-up design activities) is
expected to produce much better architecture/design/code.

… So, I don't think TDD is somehow obsolete by Smalltalk. Vice versa, TDD
should be really efficient here. And it's a great pity TDD is not actually
popular in Smalltalk society. One of the dire consequences is that modern
Smalltalk environments are not "TDD-oriented" and don't advantage from good
TDD methodology.

… Yea, that's just one of my pet peeves :)



--

Best regards,


Dennis Schetinin


2013/6/6 kilon <[email protected]>

> I dont think a debugger can ever replace TDD for two reason
>
> a) Tests are faster way  to find bugs that don't want to be found  ;)
>
> b) Tests are more than debugging tools
>
> (A) If you have already created a large suite of tests then all it takes is
> to fire those tests and just wait for the result to come out. Much fastert
> than going one by one bug. Also I dont know if the same applies for
> smalltalk but when i was coding for python not all code was executed and so
> I did not see all the bugs my code contains. So I had to test the app
> myself
> in many diffirent ways and I quickly found out that writing tests was way
> faster in the long run.
>
> (B) tests also make sure that your code behaves the way you want to behave
> and produces the result you want to produce. It may not be a bug per se,
> just a weird behavior. They also set a design pattern for your code to
> follow in the future.
>
> Generally speaking I use TDD for long code or code that is going to be
> maintained in the long run and get larger and larger. I think in that
> scenario TDD really excells. TDD is very popular in python, its part of the
> main library cpython(unittesting.py) comes with and there is also a third
> party library called "Nose" that even offer more features.
>
> I think TDD helps you keep your sanity in  the long run especially with big
> projects and complex code.
>
> Debuggers are more like microscopes while i see TDD more like Satelites on
> orbit. ;)
>
>
>
>
>
>
>
> --
> View this message in context:
> http://forum.world.st/Pharo-dev-Necessity-of-TDD-with-Smalltalk-tp4691867p4691929.html
> Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
>
>

Reply via email to