« Intelligent Design and Conway's Life | Main | The next few months.. »

June 30, 2009

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8341d798c53ef011571938d5e970b

Listed below are links to weblogs that reference Canalizing Design:

Comments

Michael Hunger

I agree with you but like to add something about setting structures. The structures you set by factoring out code in a certain way reflect your current knowlegde about the problem and solution domain as well as your engineering skills.

So if you set this into "stone" the question is how valid your mental model is at a later time and how hard it is for someone else to follow your thoughts and your flow through the channel and to understand WHY you did the structuring that way.

Enabling change here (even being able to create a totally different flow) is challenging at least. Many people really refrain from inlining code to extract it again (you can even inline classes with a single refactoring).

So by factoring out you kind of take the stance of knowing better or best how to structure the solution. But that may not be the case.

So make it easy for someone else to follow your thoughts and try to include the why's into the code (naming, comments) and don't discourage them
to undo your canalizing.

How this relates to the OCP is also an interesting discussion.

Mark Rogers

Hey, in your book "Working Effectively with legacy code" (sweet book btw), the table at the bottom of page 6, is reprinted at the top of page 7, with no differences in them. Seems like a typo.

Peace

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment