[V3dot10] Image before 0002788: Bug: Use of == for arithmetic equality problem

Andreas Raab andreas.raab at gmx.de
Wed Oct 17 22:16:21 UTC 2007


nicolas cellier wrote:
> Keep on doing good work Edgar.
> That's a simple error of procedure. You cannot be your own reviewer.
> Someone else has to do it.

So who *has* reviewed the changes? Nobody? When was the last time that 
changes to *hundreds* of methods have been introduced in the image 
without any review whatsoever? I thought one of the goals of the 3.10 
process was to improve code quality?

Whatever. I only have to glance at Dan's snippet to tell you that there 
will be plenty of situations where it will identify places that would be 
completely wrong to change. You cannot take this and automatically 
convert those comparisons. To give just one example, it is commonplace 
to use loops like this:

   obj := 0 someObject.
   [0 == obj] whileFalse:[
     "... do something ..."
     obj := obj nextObject.
   ].

In my image alone there are 17 senders of #nextObject, *all* of which 
exhibit this pattern. I'm certain there are other patterns like it.

> Anyway, except ImageSegment, other zealous conversions should be harmless.
> Questionnable, unneeded, but harmless.

I can *guarantee* that this is assumption is wrong.

Cheers,
   - Andreas


More information about the V3dot10 mailing list