… I've forgot to explicitly mention that TDD-ing in Pharo I spent most of
time in debugger and inspectors: I see live objects there, I can
investigate and find roots of troubles, I code there… That's why TDD is
most productive in Smalltalk environment for me, and another reason why I
think a good debugger (in an alive environment) doesn't make TDD
unnecessary (or inversely) but rather complement and empower each other.


--

Best regards,


Dennis Schetinin


2013/6/6 Dennis Schetinin <chae...@gmail.com>

> I didn't mean to start a big discussion so I'm not ready to state or
> develop my vision right now fully and logically… But let's try to start
> little-by-little.
>
> Considering Pharo as an example… there are  few minor issues like lack of
> some code-producing features in debugger… the one I can remember right now
> is lack of code formatting there, but there are few more. Fixing such
> issues would be a first step towards TDD-oriented environment.
>
> Next steps would be about some more serious improvements: Test Runner
> improvements, auto-test running (it's already is implemented I think?),
> test annotations (expressing ideas behind every tests, relations between
> them, etc.), better test navigation and, perhaps, a "TDD-oriented" browser.
> Then, there should be introspection tools that for example silently save
> all the history and allow to review, analyze the development process
> regarding the idea-test-implementation triplets…
>
> …Sure, I rather have a "feeling" of the TDD-oriented environment then a
> good proposal right now. The feeling grows to something almost reasonable
> when I code, but I didn't have such chance for few months already, so I'm
> kinda caught off base :)
>
>  --
>
> Best regards,
>
>
> Dennis Schetinin
>
>
> 2013/6/6 Frank Shearar <frank.shea...@gmail.com>
>
>> On 6 June 2013 14:44, Dennis Schetinin <chae...@gmail.com> wrote:
>> > 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.
>>
>> Why do you think Smalltalk environments aren't "TDD oriented"? What
>> would an IDE need to be TDD oriented? (I can think of something like
>> Ruby's guard, which runs tests every time you save a file.)
>>
>> frank
>>
>>
>

Reply via email to