Link? I googled some minutes and did not find any obvious Bellware
article on this exact subject (the "getting started with BDD"-subject
i mean).
2008/5/20 Brian Donahue <br...@pigeonmoon.com>:
TDD doesn't mean you don't think about design at all. Thinking
through a design in your head, or a few sketches on paper, is not
BUFD. It's just smart.
> (2) Another issue I had with TDD was that sometimes I built too much
> functionality into my classes, and in the worst case a whole class was
> deprecated because higher-level functionality didn't really need them
> after all!
I find an outside-in style of development to be very helpful with this
kind of problem. It forces you to think of your objects at a high
level, so your design is driven by real need, and then you apply your
design skills as you go on. When I use a pure bottom-up style, I
write more speculative code and go down the wrong path far more often
than I'd like. That's not to say that it's a problem inherent with
that style, but rather a problem that I've personally experienced, and
have more or less solved by using an outside-in approach.
> (3) Of course I've been through the "it is hard to test GUIs,
> databases, files, random algorithms"-era of my TDD-quest too. I was
> fortunate enough to begin my TDD-journey with an all-algorithmic
> problem -- the problem of packing small rectangles in a big rectangle
> (also known as nesting). A no-external-dependencies project! I would
> call it beginners luck!
Yep, dependencies are tough. The only real advice I can give is to
listen to your code and tests - whenever you feel pain, ask yourself
(and team members, and mailing lists) how you can remove it.
Pat
But I'm trying to learn BDD, see the last paragraph of the top thread.
>
>> (2) Another issue I had with TDD was that sometimes I built too much
>> functionality into my classes, and in the worst case a whole class was
>> deprecated because higher-level functionality didn't really need them
>> after all!
>
> I find an outside-in style of development to be very helpful with this
> kind of problem. It forces you to think of your objects at a high
> level, so your design is driven by real need, and then you apply your
> design skills as you go on. When I use a pure bottom-up style, I
> write more speculative code and go down the wrong path far more often
> than I'd like. That's not to say that it's a problem inherent with
> that style, but rather a problem that I've personally experienced, and
> have more or less solved by using an outside-in approach.
>
Yup, and outside-in is what BDD is supposed to be about, I think. It's
still very fuzzy to me, that's why I joined this mailing list.
>
>> (3) Of course I've been through the "it is hard to test GUIs,
>> databases, files, random algorithms"-era of my TDD-quest too. I was
>> fortunate enough to begin my TDD-journey with an all-algorithmic
>> problem -- the problem of packing small rectangles in a big rectangle
>> (also known as nesting). A no-external-dependencies project! I would
>> call it beginners luck!
>
> Yep, dependencies are tough. The only real advice I can give is to
> listen to your code and tests - whenever you feel pain, ask yourself
> (and team members, and mailing lists) how you can remove it.
>
Yeah, pain is a great smell of bad code :)
> Pat
>
> >
>