IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Posted a link...
...over on [link|http://lambda.weblogs.com/|Lambda weblogs]. One nice thing about Winer's discussion boards is that it allows you to keep track of who's [link|http://ventedspleen.weblogger.com/stats/referers|referring] to your board (Wonder if zIWETHEY tracks such things? - though I can see how some folks dislike such tracking mechanisms).

My only thought at the moment concerns the Open-Closed principle and the use of delegates/posing. What I am wondering is how you view the ability to test software when it's behavior can be modified? The main reason for the closed principle, as I see it, has to do with the knowledge that the software has been tested and you have confidence in it's algorithms. Once you start allowing a class to behave differently depending on the programmer/application, it becomes more difficult to nail down when a class is debugged and when it is not.
New Thanks
Its more fun when you get readers and besides, some of the feedback I've been getting here and elsewhere has made me either rethink and sometimes refine my positions.

On the Open-Closed Principle. In the whole, I don't think its an awful idea exactly. The idea being is you don't have to re-test what you didn't change. The flip side of this is that you *do* have to test anything you do change or anything that's new.

The assumption that is often made with these principles is that the original design is sound and a good fit for the problem domain. What about systems that need to evolve in environments where the current design doesn't fit the (recently changed) requirements very well?

In my rather advanced paranoia, I find myself factoring at a rather fine grained level to leave myself options in places where I'm not sure I'll need them. I consider this to be the essence of the architect's role - the preservation of options. After several years, my instincts have gotten pretty good, but I still get surprised every now and then.

Plus - how often have you had a system dumped into your lap that isn't in too good a shape and you still need to rev it to do some new kind of thing?

So I guess to sum up - the literature all assumes blank slate design or extensions of systems where the initial assumptions still hold. Thats all well and good - the real world isn't that neat. Our tools should be forgiving and help us recover from bad designs or sweeping changes in requirements. That would be the test of a good vs bad system for development of enterprise systems.

     I've decided to write it all down - (tuberculosis) - (19)
         I get an error - (ChrisR) - (1)
             Doh! This one - (tuberculosis)
         Pet peeves - (wharris2) - (5)
             Well, if you just want to list those - (tuberculosis) - (1)
                 I don't care what the C++ crowd calls it - (wharris2)
             Argh! - (deSitter) - (2)
                 Well hang in there - (tuberculosis)
                 Two uses - (wharris2)
         "Boy, what a lot of typing that was!" - (a6l6e6x) - (2)
             Re: "Boy, what a lot of typing that was!" - (wharris2) - (1)
                 Thats a good point - (tuberculosis)
         Nice rants. - (static)
         Re: I've decided to write it all down - (neelk) - (4)
             I've read the previously posted rant - (tuberculosis) - (3)
                 Just a guess - (Fearless Freep) - (2)
                     Then its misnamed - (tuberculosis) - (1)
                         Re: Then its misnamed - (neelk)
         Posted a link... - (ChrisR) - (1)
             Thanks - (tuberculosis)

Where's the pick-a-nick bas-ket?
46 ms