Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Originally posted by Frank Carver:
To make use of merciless refactoring you really need to be running the complete unit test suite and comitting changes every few minutes.
Originally posted by Frank Carver:
Can you explain a little more about why you feel that working on branches is something so obvious that you can assume it for a problem like this?
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Originally posted by Lasse Koskela:
If you're doing Big Refactoring, e.g. adding a separate controller layer (m+v+c) into a document-view design (m+vc), the checkin won't be done within "a few minutes" of the checkout.
Well, I've working in a maintenance operation for some time now and there's a process with releases that some times drops parts of the release in the last minute (e.g. because it hasn't passed acceptance testing, is otherwise late, etc). In these cases, it's pretty damn useful to have a single branch to rollback compared to seven versions of a file with seventeen versions from other teams all scrambled up.
And the ClearCase update takes between 10-15 minutes to complete (it's a BIG project)
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Ilja Preuss:
I don't understand why you'd need braches for this - don't you just need tagged "known to be good" versions? Can you please elaborate?
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Originally posted by Stan James:
Branches scare the heck out of me. We try real hard to avoid them.
A lot of XP practices came out of Smalltalk tools that let two people work on a class at the same time. The first one checked back in is no problem. On the 2nd one the tool compares them. If they did not modify the same method, it replaces old methods with new ones. If they did, the user might be prompted to manually merge the code. Visual Age tries to do this, too. Other IDEs??
The bad part about branching is you (probably) gotta merge some time. With a lot of refactoring going on there could be way too many changes in both branches to ever figure out.
XP's "no code ownership" or "community code ownership"
seems to me to require good tools and ideal configurations. It also helps enormously to have everyone in a room together. "Hey, Bob, what the heck did you do to this thing?"
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Alas, poor Yorick, he knew this tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com
|