On 11/6/06, Noel J. Bergman <[EMAIL PROTECTED]> wrote:
Danny Angus wrote:
> Noel J. Bergman wrote:
> > That's it. Assembly vs a static method. The only difference between
the
> > two code sets. That's all that we're talking about.
> You're not going to draw me into a Big Debate about this ;-)
Well, I agree with you, but Stefano thinks that the difference amounts to a
technical justification to block the fix. :-)
> From where I'm sitting though, static method == Bad, indirection and
> separation of concerns == good.
Well, the SoC claim is bogus, because either way the code is in the same
component. The difference is the indirection to the implementation. Yes,
that's generally a reasonable thing, but it isn't as if JAMES is a bag of
components for someone to tinker around with in Spring. It is an
application. Besides, the assembly-based fix is in trunk, which we might be
able to release next Summer (maybe)
Noel, did you ever think of writing test code for accessing DNS
lookups which is able to run offline or with a mock up DNS server?
Maybe having an isolated test scenario with massive amounts of
randomly generated domain names instead of waiting for the production
system to generate the test cases for you?
Obviously not. Because hardcoded static access to another component
makes that impossible.
Tight coupling is spread out all over James. It makes the code harder
to understand, maintain and test. This results in bad quality
surfacing as bugs and errors.
For the specific fix discussed here, this seems ok and is improving
immediate quality. Beyond the scope of the bug fix, it is reducing the
overall quality of the application.
I am not following Stefano as far as vetoing this, but can understand
he gets upset by this because he tried to improve indirection over the
course of the last months.
Phrases like "silly debate over static vs assembly" are really of no
help resolving the standing veto, knowing the level of confrontation
you and Stefano are used to get into. And this _is_ silly.
Bernd
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]