[PJUG Javamail] debugging server-side code
Matt Reynolds
mreynolds at loopysoft.com
Sun Aug 12 18:37:56 UTC 2007
> It was more than 4 years ago. Before Eclipse, before IDEA. Lots of
> things were primitive about app server development. Of course that
> would lead some to argue that because of all the changes the
> experience is much improved and I should give it another try. I'm not
> disputing that it might be easier now, just that since I've given up
> reliance on the debugger, I have no desire to go back.
>
> Any case someone can find for claiming remote debugging is needed I
> can demonstrate a variety of ways that solve the problem and add
> lasting value to the system and development team's understanding of
> it.
I'm not saying the case can't be made for both better team
understanding and also lasting value to the overall system. My point
focuses on the systems that don't work well with this style of work
due to the cost of discovery and implementation. The cost to
implement this style (and the surrounding cases in the wiki page)
seems to allow for time to rewrite, refactor, and properly test a
component. If you have tight coupling (and/or poor interfaces with
poor/leaky encapsulation), the time I have to bug fix (a day?) is not
enough to attack the problem in the manner suggested. Just
discovering the location of true behavior of the bug from the bug
report can take several hours, let alone making the ailing component
better. Getting the time to properly address a systemic problem may
be the core issue. In most cases, myself/my boss/my team doesn't
want to fix the old system any more than they have to, due to the
fragility and rigid nature of the system, and subsequent fallout with
even small changes.
Again, most of the legacy systems I've inherited have had these
problem. Systems where the team learned from their mistakes, wrote
new systems/components that were well constructed, and created unit
tests as part of that construction don't require a debugger. The
system doesn't have to be perfect, but monolithic legacy systems are
hard to "not debug".
If you have suggestions on how to get rid of the debugger, I'd love
to hear them.
More information about the Javamail
mailing list