Re: ArrayList.Iterator.remove()
Lew wrote:
Peter Duniho wrote:
Sheer quantity of code isn't really a justification for leaving
errors in it.
Kevin McMurtrie wrote:
Tell your boss you want to spend a full year fixing Java 1.5 warnings
because there's a 1 in 600 chance that each is a bug. Next convince
your boss that the risk in fixing them is lower than the original 1 in
600 odds.
Oh, yeah, leave the bugs in the code. That's a *real* professional
attitude!
I agree that it is a really professional attitude. *Every* change to
code carries a risk of creating a bug. Clean existing code and a good
development process reduce the risk, but it cannot be reduced to zero.
Every change also has a cost in programmer time and effort that could
have been spent on something else.
I've seen important releases, with real bug fixes and features the users
wanted, delayed because someone decided to clean up a harmless departure
from technical desirability, and introduced a new bug in the process.
A professional programmer should step beyond purely technical issues to
think about whether the risk and cost associated with a change are
justified by the benefit.
I do not mean to imply one should never clean up warnings etc. I
strongly prefer warning-free code. Neither the cost nor the benefit of
clean-up is zero, so it is a non-trivial decision.
Patricia