Opened 6 years ago

Closed 5 years ago

#860 closed defect (fixed)

Prefer empty to size of zero

Reported by: goatbar Owned by: geos-devel@…
Priority: major Milestone: 3.6.4
Component: Default Version: 3.6.2
Severity: Unassigned Keywords:
Cc:

Description

double
ElevationMatrixCell::getAvg() const
{
        return  zvals.size() ?
                ztot / static_cast<double>(zvals.size()) :
                DoubleNotANumber;
}

Should become:

double
ElevationMatrixCell::getAvg() const
{
    return !zvals.empty() ? ztot / static_cast<double>(zvals.size())
                        : DoubleNotANumber;
}

or better yet, drop the not (!) in the test.

double
ElevationMatrixCell::getAvg() const
{
    return zvals.empty()
        ? DoubleNotANumber
        : ztot / static_cast<double>(zvals.size()) ;
}

Change History (3)

comment:1 by goatbar, 6 years ago

And there are some easy to find instances of the same thing:

find . -name \*.cpp | xargs egrep '[.]size()' | egrep '== *0|0 *=='
./geomgraph/EdgeEndStar.cpp:	if (edgeMap.size()==0) return nullCoord;
./geomgraph/EdgeEndStar.cpp:	if (edgeMap.size()==0) return true;
./operation/buffer/SubgraphDepthLocater.cpp:	if (stabbedSegments.size()==0) return 0;
./operation/overlay/LineBuilder.cpp:	if ( v3d.size() == 0 )
./linearref/ExtractLineByLocation.cpp:	if (newCoordinateArray.size() == 0)

comment:2 by robe, 6 years ago

Milestone: 3.6.33.6.4

comment:3 by Daniel Baston <dbaston@…>, 5 years ago

Resolution: fixed
Status: newclosed

In c4bfa45/git:

Use empty() instead of size() where possible

Fixes #860

Note: See TracTickets for help on using tickets.