> but == should be used for testing things where 0 is just another number, like 
> indexes:
> 
> if (index == 0)
>    …

The index case is especially annoying because we use -1 to indicate notFound, 
so !index means “the first valid index” rather than “no index”. It’s pretty odd 
to think of false as the first valid array index. I wouldn’t want someone to 
write “x = array[false]”.

Also:

If (point.x == 0)
    …

If (gps.latitude == 0)
   …

etc.

These are the cases where ! really grinds my gears.

Perhaps we could relax the rule to say:

Tests for true / false and null / non-null should use if (x) / if (!x) instead 
of equality comparisons:

    If (ptr)
        ptr->func()

Tests for numeric values where 0 indicates falsiness or emptiness should also 
use if (x) / if (!x).

    If (!collection.size())
        return;

Other comparisons to numeric values should use equality comparisons:

    if (index == 0)
        ...

Geoff
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to