The Artima Developer Community
Sponsored Link

Java Buzz Forum
"Rewriting" Calcified Code Without Collapsing the Tower

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Michael Cote

Posts: 10306
Nickname: bushwald
Registered: May, 2003

Cote is a programmer in Austin, Texas.
"Rewriting" Calcified Code Without Collapsing the Tower Posted: Jul 26, 2004 12:30 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Michael Cote.
Original Post: "Rewriting" Calcified Code Without Collapsing the Tower
Feed Title: Cote's Weblog: Coding, Austin, etc.
Feed URL: https://cote.io/feed/
Feed Description: Using Java to get to the ideal state.
Latest Java Buzz Posts
Latest Java Buzz Posts by Michael Cote
Latest Posts From Cote's Weblog: Coding, Austin, etc.

Advertisement
Someone complains that members of his team are patching code instead of improving it, and therefore Extreme Programming isn't "scalable". The fact is, this lesson about the inappropriate use of "patching" is something that needs to be learned even if the team isn't doing XP. If it is doing XP, they are going to learn this lesson more quickly and more obviously than they would in a non-XP environment: their velocity is going to slow down over time until they can't create any new user-value within a single iteration.

(From MemoRanda, which claims this is the permalink, but you might need to go to this one instead.)

I like the phrase "improving it," esp. in reference to my previous thoughts about the use of the phrase "rewriting code" vs. "updating code." I previously said this was a bit of "spin-miestery," but I've been thinking that the positive de-calcifying I was talking about isn't rewriting from scratch, but re-working code that was either broken to begin with, or is no longer able to provide the functionality you need in the way you need it, as quickly as you need it.

In the past, when confronted with these things, the gradual scaffolding approach seems to have worked well: you don't rip everything out all at once (rewriting from scratch), but you slowly replace small pieces of code with new code.

It's like Jenga, but instead of just pulling blocks out and rebuilding the tower all over again, you pull out blocks, but put new blocks back in place. Hopefully, the tower won't fall while you're doing this. Good test coverage is certainly a requirement, but it seem that just like Jenga it takes a slow, steady hand to keep the whole thing from falling down.

Read: "Rewriting" Calcified Code Without Collapsing the Tower

Topic: Remember to COMMIT to the SQLPlus gods Previous Topic   Next Topic Topic: Subversion Java Bindings on OS X, Linux

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use