Hi George,
On 12 Feb 2012, at 23:30, George Paci wrote:
[snip]
>> Currently I more often reach to my source control system and checkout a fresh
version of trunk, fix the related code, then return to my original code and
merge the changes in.
>
> I think I know what you're saying here, but just to be sure:
[expansion snipped]
Yup - that's it :)
[snip]
> It seems like one salient advantage of using version control
> like this is that work on Module B can happen without being
> complicated by the changes made to Module A (if you go all
> the way back to T0). But how often does such complication
> really happen?
For me it's not so much that the changes to A complicate B, but that the changes
to B can affect the direction taken with A.
Especially in the early stages I'm discovering the design with TDD. The changes
to B might lead me to other changes in C and so on. By the time I come up from
that rabbit hole the direction originally taken with A may turn out to be wrong.
> I use stash in git all the time, but I never thought about
> using it for this kind of case. Typically, to mark a test
> Pending, I prefix the name with "XXXXXXXXXXXXX", which (a)
> is not picked up as a test by the framework and (b) is
> pretty hard to miss in the diff I look over before I commit.
I use TODO tests in my framework (TAP based) which means that they show up as
passing/failing, but a "fail" doesn't cause an overall failure in the test
suite, and a "pass" gives an "unexpected success" message.
> I never thought about having many Pending tests; it seems
> like it would be difficult to build up a pile of them
> without doing something else very wrong. Or, you know,
> having a development situation that hasn't occurred in my
> limited experiences.
I think "doing something else very wrong" is a good way of describing what
happened with me on occasions where multiple pending tests build up :-) Using
the stash gives me a bit of discipline to stop making the same mistakes again.
> But maybe Sorites was onto something with his paradox[1]:
> maybe even one Pending test is a pile, and should be
> avoided: like a comment, it can quickly become out-of-date.
That's pretty much my opinion. About the only time I use pending tests now are
for things that I can't fix immediately (problems caused by third party code for
example).
Cheers,
Adrian
--
http://quietstars.com adrianh@... twitter.com/adrianh
t. +44 (0)7752 419080 skype adrianjohnhoward del.icio.us/adrianh