hmellin97 / geometry-api-java

The Esri Geometry API for Java enables developers to write custom applications for analysis of spatial data. This API is used in the Esri GIS Tools for Hadoop and other 3rd-party data processing solutions.
Apache License 2.0
0 stars 0 forks source link

Use `lizard` to find the cyclomatic complexity #6

Closed Mathiponds closed 4 years ago

Mathiponds commented 4 years ago

Find 10 functions or methods with high complexity. We can sort them by size. List them below

myhelmisaari commented 4 years ago
  NLOC    CCN   token  PARAM  length  location
------------------------------------------------
     509    106   2751      6     578 Cutter::_Cut@560-1137@.\src\main\java\com\esri\core\geometry\Cutter.java
     192    104   1466      2     215 OperatorImportFromJsonCursor::importFromJsonParser@61-275@.\src\main\java\com\esri\core\geometry\OperatorImportFromJsonCursor.java
     322     87   2226      3     422 OperatorImportFromESRIShapeCursor::importFromESRIShapeMultiPath@215-636@.\src\main\java\com\esri\core\geometry\OperatorImportFromESRIShapeCursor.java
     247     85   1720      4     301 OperatorExportToESRIShapeCursor::exportMultiPathToESRIShape@600-900@.\src\main\java\com\esri\core\geometry\OperatorExportToESRIShapeCursor.java
     271     81   1773      5     352 OperatorImportFromWkbLocal::importFromWkbPolygon@370-721@.\src\main\java\com\esri\core\geometry\OperatorImportFromWkbLocal.java
     144     73   1272      3     171 OperatorImportFromWkbLocal::importFromWkb@198-368@.\src\main\java\com\esri\core\geometry\OperatorImportFromWkbLocal.java
     189     59   1305      3     254 Clipper::clipPolygon2_@79-332@.\src\main\java\com\esri\core\geometry\Clipper.java
     231     58   1664      8     345 Bufferer::clipFilter_@1427-1771@.\src\main\java\com\esri\core\geometry\Bufferer.java
     270     53   2305      9     372 GeoDist::geodesic_distance_ngs@95-466@.\src\main\java\com\esri\core\geometry\GeoDist.java
     226     53   1444      5     285 RelationalOperations::relate@42-326@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
     208     49   1441      3     268 OperatorExportToWkbLocal::exportPolygonToWKB@106-373@.\src\main\java\com\esri\core\geometry\OperatorExportToWkbLocal.java
     202     48   1370      3     253 OperatorExportToWkbLocal::exportPolylineToWKB@375-627@.\src\main\java\com\esri\core\geometry\OperatorExportToWkbLocal.java
     278     48   1663      2     342 OperatorIntersectionCursor::tryFastIntersectPolylinePolygon_@398-739@.\src\main\java\com\esri\core\geometry\OperatorIntersectionCursor.java
     184     46   1238      2     222 OperatorImportFromESRIShapeCursor::importFromESRIShapeMultiPoint@638-859@.\src\main\java\com\esri\core\geometry\OperatorImportFromESRIShapeCursor.java
     160     46    910      2     236 OperatorImportFromGeoJsonLocal::OperatorImportFromGeoJsonHelper::importSpatialReferenceFromCrs@1006-1241@.\src\main\java\com\esri\core\geometry\OperatorImportFromGeoJsonLocal.java
     138     45    979      2     169 Clipper::resolveOverlaps_@779-947@.\src\main\java\com\esri\core\geometry\Clipper.java
     163     45   1117      3     195 OperatorExportToESRIShapeCursor::exportMultiPointToESRIShape@404-598@.\src\main\java\com\esri\core\geometry\OperatorExportToESRIShapeCursor.java
     178     41   1073      0     203 Cracker::crackBruteForce_@54-256@.\src\main\java\com\esri\core\geometry\Cracker.java
     135     41    819      6     173 OperatorImportFromGeoJsonLocal::OperatorImportFromGeoJsonHelper::importFromGeoJsonImpl@132-304@.\src\main\java\com\esri\core\geometry\OperatorImportFromGeoJsonLocal.java
     184     40   1212      3     231 OperatorExportToWkbLocal::exportEnvelopeToWKB@1017-1247@.\src\main\java\com\esri\core\geometry\OperatorExportToWkbLocal.java
     130     39    694      1     149 OperatorImportFromESRIShapeCursor::importFromESRIShape@65-213@.\src\main\java\com\esri\core\geometry\OperatorImportFromESRIShapeCursor.java
     106     39    821      1     177 OperatorIntersectionCursor::tryNativeImplementation_@220-396@.\src\main\java\com\esri\core\geometry\OperatorIntersectionCursor.java
     174     39   1167      4     221 RelationalOperations::linearPathWithinLinearPath_@3553-3773@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
     234     39   1505      4     293 RelationalOperations::linearPathIntersectsLinearPathMaxDim_@3810-4102@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
     177     38   1198      3     213 OperatorExportToWkbLocal::exportMultiPointToWKB@629-841@.\src\main\java\com\esri\core\geometry\OperatorExportToWkbLocal.java
      92     37    659      6     145 Line::_intersectLineLine@839-983@.\src\main\java\com\esri\core\geometry\Line.java
     143     36    904      2     163 Clipper::clipPolyline_@334-496@.\src\main\java\com\esri\core\geometry\Clipper.java
     120     36    821      4     148 OperatorImportFromJsonCursor::importFromJsonMultiPath@403-550@.\src\main\java\com\esri\core\geometry\OperatorImportFromJsonCursor.java
     219     35   1769      0     342 ConstructOffset::buildOffset@295-636@.\src\main\java\com\esri\core\geometry\ConstructOffset.java
     110     35    544      2     121 OperatorImportFromGeoJsonLocal::OperatorImportFromGeoJsonHelper::createGeometry_@633-753@.\src\main\java\com\esri\core\geometry\OperatorImportFromGeoJsonLocal.java
     124     35    894      4     138 OperatorInternalRelationUtils::quickTest2D@48-185@.\src\main\java\com\esri\core\geometry\OperatorInternalRelationUtils.java
      29     35    322      3      38 RelationalOperationsMatrix::touches_@1170-1207@.\src\main\java\com\esri\core\geometry\RelationalOperationsMatrix.java
     165     34   1210      1     227 OperatorSimplifyLocalHelper::processBunchForRingOrientationTest_@1015-1241@.\src\main\java\com\esri\core\geometry\OperatorSimplifyLocalHelper.java
     124     33    824      0     167 PlaneSweepCrackerHelper::sweepImpl_@1276-1442@.\src\main\java\com\esri\core\geometry\PlaneSweepCrackerHelper.java
      91     33    712      1     114 Simplificator::_processCrossOvers@242-355@.\src\main\java\com\esri\core\geometry\Simplificator.java
     146     32   1181      2     182 Clipper::splitSegments_@596-777@.\src\main\java\com\esri\core\geometry\Clipper.java
     161     32   1077      3     203 OperatorExportToESRIShapeCursor::exportEnvelopeToESRIShape@102-304@.\src\main\java\com\esri\core\geometry\OperatorExportToESRIShapeCursor.java
     106     32    601      2     137 OperatorImportFromGeoJsonLocal::OperatorImportFromGeoJsonHelper::import_coordinates_@316-452@.\src\main\java\com\esri\core\geometry\OperatorImportFromGeoJsonLocal.java
     138     32    937      5     170 RelationalOperationsMatrix::relate@63-232@.\src\main\java\com\esri\core\geometry\RelationalOperationsMatrix.java
     117     31    910      0     186 Cracker::needsCrackingImpl_@269-454@.\src\main\java\com\esri\core\geometry\Cracker.java
      77     31    527      3      97 OperatorExportToESRIShapeCursor::exportPointToESRIShape@306-402@.\src\main\java\com\esri\core\geometry\OperatorExportToESRIShapeCursor.java
      95     31    730      5     126 OperatorExportToJsonCursor::exportPolypathToJson@109-234@.\src\main\java\com\esri\core\geometry\OperatorExportToJsonCursor.java
     125     31    981      0     194 OperatorSimplifyLocalHelper::check_self_intersections_polygons_OGC_@581-774@.\src\main\java\com\esri\core\geometry\OperatorSimplifyLocalHelper.java
     106     30    707      6     129 Cutter::_cutterEndTangents@1155-1283@.\src\main\java\com\esri\core\geometry\Cutter.java
     120     30    748      2     153 IntervalTreeImpl::insertIntervalEnd_@321-473@.\src\main\java\com\esri\core\geometry\IntervalTreeImpl.java
     144     30    994      3     173 OperatorExportToWkbLocal::exportPointToWKB@843-1015@.\src\main\java\com\esri\core\geometry\OperatorExportToWkbLocal.java
     133     30    986      2     157 SegmentIntersector::intersect@196-352@.\src\main\java\com\esri\core\geometry\SegmentIntersector.java
     122     30    994      0     146 TestEnvelope2DIntersector::testRandom@200-345@.\src\test\java\com\esri\core\geometry\TestEnvelope2DIntersector.java
      84     29    537      5     101 Line::_intersectLineLineExact@737-837@.\src\main\java\com\esri\core\geometry\Line.java
      88     29    554      7     110 RelationalOperations::multiPointCoverageMultiPoint_@3377-3486@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
      88     28    552      3     100 EditShape::filterClosePoints@920-1019@.\src\main\java\com\esri\core\geometry\EditShape.java
     137     28    845      5     182 OperatorImportFromWkbLocal::importFromWkbPolyline@723-904@.\src\main\java\com\esri\core\geometry\OperatorImportFromWkbLocal.java
      60     28    419      1      78 SpatialReference::fromJson@94-171@.\src\main\java\com\esri\core\geometry\SpatialReference.java
      50     27    397      3      57 OperatorExportToWkbLocal::exportToWKB@48-104@.\src\main\java\com\esri\core\geometry\OperatorExportToWkbLocal.java
      92     27    616      0     134 OperatorSimplifyLocalHelper::checkValidRingOrientation_@776-909@.\src\main\java\com\esri\core\geometry\OperatorSimplifyLocalHelper.java
     110     27    811      5     143 RelationalOperations::polygonContainsMultiPath_@4747-4889@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
     147     27    917      5     207 TopologicalOperations::restorePolylineParts_@652-858@.\src\main\java\com\esri\core\geometry\TopologicalOperations.java
      96     26    750      2     127 Cutter::_getCutEvents@137-263@.\src\main\java\com\esri\core\geometry\Cutter.java
      49     26    403      3      59 OperatorExportToWktLocal::exportToWkt@36-94@.\src\main\java\com\esri\core\geometry\OperatorExportToWktLocal.java
     123     26    821      2     150 OperatorImportFromESRIShapeCursor::importFromESRIShapePoint@861-1010@.\src\main\java\com\esri\core\geometry\OperatorImportFromESRIShapeCursor.java
     136     26    976      0     171 OperatorSimplifyLocalHelper::polylineSimplifyAsFeature_@1452-1622@.\src\main\java\com\esri\core\geometry\OperatorSimplifyLocalHelper.java
     175     26   1002      1     259 TopoGraph::sortHalfEdgesByAngle_@1179-1437@.\src\main\java\com\esri\core\geometry\TopoGraph.java
     131     26    893      5     169 TopoGraph::setEditShapeImpl_@1627-1795@.\src\main\java\com\esri\core\geometry\TopoGraph.java
      87     25    657      3     123 ConstructOffset::_OffsetPath@651-773@.\src\main\java\com\esri\core\geometry\ConstructOffset.java
      62     25    441      7      85 OperatorImportFromWktLocal::lineStringText@526-610@.\src\main\java\com\esri\core\geometry\OperatorImportFromWktLocal.java
      61     25    461      4      82 RelationalOperations::multiPointCrossesEnvelope_@2637-2718@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
      86     25    541      4      91 RelationalOperations::tryRasterizedContainsOrDisjoint_@4381-4471@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
     102     24    634      5     119 RelationalOperationsMatrix::polylineRelatePoint_@798-916@.\src\main\java\com\esri\core\geometry\RelationalOperationsMatrix.java
      86     23    589      4     114 Clipper::clip@1134-1247@.\src\main\java\com\esri\core\geometry\Clipper.java
      67     23    529      4      94 RelationalOperations::envelopeTouchesEnvelope_@2872-2965@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
      71     23    260      0      72 WktParser::nextToken@63-134@.\src\main\java\com\esri\core\geometry\WktParser.java
     126     22    864      3     194 Bufferer::bufferPolygonImpl_@615-808@.\src\main\java\com\esri\core\geometry\Bufferer.java
      69     22    460      6      85 Cutter::_cutterStartTangents@1285-1369@.\src\main\java\com\esri\core\geometry\Cutter.java
     106     22    748      2     152 Envelope2D::clipLine@811-962@.\src\main\java\com\esri\core\geometry\Envelope2D.java
      71     22    477      5     126 MultiPathImpl::addSegmentsFromPath@697-822@.\src\main\java\com\esri\core\geometry\MultiPathImpl.java
      55     22    462      4      80 RelationalOperations::envelopeCrossesEnvelope_@3090-3169@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
      20     22    211      3      25 RelationalOperationsMatrix::crosses_@1210-1234@.\src\main\java\com\esri\core\geometry\RelationalOperationsMatrix.java
     112     22    951      0     140 TestQuadTree::testQuadTreeWithDuplicates@99-238@.\src\test\java\com\esri\core\geometry\TestQuadTree.java
      82     21    603      4     102 Boundary::calculatePolylineBoundary_@135-236@.\src\main\java\com\esri\core\geometry\Boundary.java
      65     21    269      0      68 Envelope2DIntersectorImpl::next@162-229@.\src\main\java\com\esri\core\geometry\Envelope2DIntersectorImpl.java
      85     21    464      1      89 JsonStringWriter::appendQuote_@337-425@.\src\main\java\com\esri\core\geometry\JsonStringWriter.java
      85     21    590      0     107 OperatorSimplifyLocalHelper::checkSelfIntersectionsPolylinePlanar_@451-557@.\src\main\java\com\esri\core\geometry\OperatorSimplifyLocalHelper.java
      43     21    348      1      57 PointInPolygonHelper::doOne@55-111@.\src\main\java\com\esri\core\geometry\PointInPolygonHelper.java
      45     21    407      4      67 RelationalOperations::envelopeOverlapsEnvelope_@2968-3034@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
      20     21    207      3      25 RelationalOperationsMatrix::overlaps_@1250-1274@.\src\main\java\com\esri\core\geometry\RelationalOperationsMatrix.java
      85     21    493      6      99 Treap::addElementAtPosition@200-298@.\src\main\java\com\esri\core\geometry\Treap.java
      74     21    443      1      83 Wkt::find_tolerance_from_wkt@28-110@.\src\main\java\com\esri\core\geometry\Wkt.java
      56     20    443      9      68 Cutter::_cutteeCutterEvents@265-332@.\src\main\java\com\esri\core\geometry\Cutter.java
      79     20    621      7     107 MultiPathImpl::insertPoints@1079-1185@.\src\main\java\com\esri\core\geometry\MultiPathImpl.java
      82     20    570      1      98 OperatorImportFromGeoJsonLocal::OperatorImportFromGeoJsonHelper::checkPathPointCountsForMultiPath_@888-985@.\src\main\java\com\esri\core\geometry\OperatorImportFromGeoJsonLocal.java
      98     20    596      3     119 OperatorImportFromWkbLocal::executeOGC@78-196@.\src\main\java\com\esri\core\geometry\OperatorImportFromWkbLocal.java
      97     20    685      4     122 RelationalOperations::polygonOverlapsPolygonImpl_@4592-4713@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
     105     20    641      0     179 Simplificator::_simplify@386-564@.\src\main\java\com\esri\core\geometry\Simplificator.java
      46     20    410      2      48 SweepComparator::compareTwoSegments_@162-209@.\src\main\java\com\esri\core\geometry\SweepComparator.java
     168     20   1418      0     198 TestIntervalTree::testIntervalTree@52-249@.\src\test\java\com\esri\core\geometry\TestIntervalTree.java
      41     19    491      5      51 ConstructOffset::findIntersection@890-940@.\src\main\java\com\esri\core\geometry\ConstructOffset.java
      31     19    231      4      44 Line::_isIntersectingLineLine@692-735@.\src\main\java\com\esri\core\geometry\Line.java
      34     19    285      3      42 OperatorImportFromWktLocal::importFromWkt@88-129@.\src\main\java\com\esri\core\geometry\OperatorImportFromWktLocal.java
      75     19    494      3      82 OperatorInternalRelationUtils::quickTest2D_Accelerated_DisjointOrContains@636-717@.\src\main\java\com\esri\core\geometry\OperatorInternalRelationUtils.java
      75     19    591      4      97 RelationalOperations::polygonDisjointMultiPath_@3172-3268@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
      67     19    448      4      89 SimpleRasterizer::addEdge@182-270@.\src\main\java\com\esri\core\geometry\SimpleRasterizer.java
     268     19   2807      0     308 TestConvexHull::testDegenerate@79-386@.\src\test\java\com\esri\core\geometry\TestConvexHull.java
     100     19    797      0     127 TestQuadTree::testSortedIterator@241-367@.\src\test\java\com\esri\core\geometry\TestQuadTree.java
      65     18    518      4      72 OperatorGeneralizeCursor::GeneralizePath@77-148@.\src\main\java\com\esri\core\geometry\OperatorGeneralizeCursor.java
      82     18    599      0     100 OperatorSimplifyLocalHelper::checkClustering_@216-315@.\src\main\java\com\esri\core\geometry\OperatorSimplifyLocalHelper.java
      76     18    520      5     105 TopologicalOperations::collectPolygonPathsPreservingFrom_@104-208@.\src\main\java\com\esri\core\geometry\TopologicalOperations.java
      44     17    321      6      54 AttributeStreamOfDbl::writeRange@665-718@.\src\main\java\com\esri\core\geometry\AttributeStreamOfDbl.java
      44     17    321      6      54 AttributeStreamOfFloat::writeRange@485-538@.\src\main\java\com\esri\core\geometry\AttributeStreamOfFloat.java
      44     17    321      6      54 AttributeStreamOfInt16::writeRange@470-523@.\src\main\java\com\esri\core\geometry\AttributeStreamOfInt16.java
      44     17    321      6      54 AttributeStreamOfInt64::writeRange@470-523@.\src\main\java\com\esri\core\geometry\AttributeStreamOfInt64.java
      44     17    321      6      54 AttributeStreamOfInt8::writeRange@522-575@.\src\main\java\com\esri\core\geometry\AttributeStreamOfInt8.java
      35     17    191      3      35 Clipper::checkSegmentIntersection_@33-67@.\src\main\java\com\esri\core\geometry\Clipper.java
      99     17    721      0     135 Clipper::fixPaths_@982-1116@.\src\main\java\com\esri\core\geometry\Clipper.java
      81     17    686      1     104 ConvexHull::construct@106-209@.\src\main\java\com\esri\core\geometry\ConvexHull.java
      61     17    486      3      97 Line::_intersection@439-535@.\src\main\java\com\esri\core\geometry\Line.java
      67     17    547      4      96 MultiPathImpl::insertPath@907-1002@.\src\main\java\com\esri\core\geometry\MultiPathImpl.java
      64     17    446      3      81 OperatorImportFromJsonCursor::importFromJsonMultiPoint@321-401@.\src\main\java\com\esri\core\geometry\OperatorImportFromJsonCursor.java
      82     17    563      0     107 QuadTreeImpl::QuadTreeIteratorImpl::next@101-207@.\src\main\java\com\esri\core\geometry\QuadTreeImpl.java
      99     17    699      4     125 RelationalOperations::polylineCrossesMultiPoint_@1884-2008@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
      54     17    416      4      79 RelationalOperations::multiPointWithinEnvelope_@2537-2615@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
      68     17    341      2      84 RelationalOperationsMatrix::computeMatrixTopoGraphHalfEdges_@2690-2773@.\src\main\java\com\esri\core\geometry\RelationalOperationsMatrix.java
      87     17    533      1     103 RingOrientationFixer::processBunchForRingOrientationTestOddEven_@329-431@.\src\main\java\com\esri\core\geometry\RingOrientationFixer.java
      47     17    423      3      85 TopoGraph::PlaneSweepComparator::compare@107-191@.\src\main\java\com\esri\core\geometry\TopoGraph.java
      84     17    578      2     113 TopoGraph::planeSweepParentage_@513-625@.\src\main\java\com\esri\core\geometry\TopoGraph.java
      43     17    363      4      49 TopologicalOperations::normalizeResult_@1525-1573@.\src\main\java\com\esri\core\geometry\TopologicalOperations.java
     104     17    907      2     135 TestCommonMethods::compareGeometryContent@51-185@.\src\test\java\com\esri\core\geometry\TestCommonMethods.java
      70     17    934      0      84 TestImportExport::testImportExportWKBEnvelope@771-854@.\src\test\java\com\esri\core\geometry\TestImportExport.java
      53     16    396      0      70 OGCConcreteGeometryCollection::flatten@793-862@.\src\main\java\com\esri\core\geometry\ogc\OGCConcreteGeometryCollection.java
      39     16    294      6      57 AttributeStreamOfInt32::writeRange@529-585@.\src\main\java\com\esri\core\geometry\AttributeStreamOfInt32.java
     101     16    801      1     118 EditShape::getGeometry@643-760@.\src\main\java\com\esri\core\geometry\EditShape.java
      73     16    541      1      88 IntervalTreeImpl::remove@475-562@.\src\main\java\com\esri\core\geometry\IntervalTreeImpl.java
      59     16    444      0      76 MultiPathImpl::openAllPathsAndDuplicateStartVertex@382-457@.\src\main\java\com\esri\core\geometry\MultiPathImpl.java
      37     16    286      2      52 OperatorConvexHullCursor::isConvex_@166-217@.\src\main\java\com\esri\core\geometry\OperatorConvexHullCursor.java
      69     16    554      4      80 OperatorDifferenceLocal::difference@50-129@.\src\main\java\com\esri\core\geometry\OperatorDifferenceLocal.java
      46     16    401      3      57 OperatorExportToGeoJsonCursor::exportPolygonToGeoJson_@178-234@.\src\main\java\com\esri\core\geometry\OperatorExportToGeoJsonCursor.java
      76     16    463      4     104 OperatorImportFromWkbLocal::importFromWkbMultiPoint@906-1009@.\src\main\java\com\esri\core\geometry\OperatorImportFromWkbLocal.java
      65     16    455      3      92 PlaneSweepCrackerHelper::processSplitHelper1_@771-862@.\src\main\java\com\esri\core\geometry\PlaneSweepCrackerHelper.java
      43     16    306      5      47 PolygonUtils::testPointsOnPolyline2D_@267-313@.\src\main\java\com\esri\core\geometry\PolygonUtils.java
      57     16    474      3      76 QuadTreeImpl::getIntersectionCount@638-713@.\src\main\java\com\esri\core\geometry\QuadTreeImpl.java
      74     16    686      7      96 QuadTreeImpl::insert_duplicates_@866-961@.\src\main\java\com\esri\core\geometry\QuadTreeImpl.java
      48     16    356      1      56 RasterizedGeometry2DImpl::queryEnvelopeInGeometry@434-489@.\src\main\java\com\esri\core\geometry\RasterizedGeometry2DImpl.java
      51     16    364      4      66 RelationalOperations::polylineCrossesEnvelope_@2243-2308@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
      51     16    369      4      71 RelationalOperations::multiPointTouchesEnvelope_@2464-2534@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
      76     16    553      4      99 RelationalOperations::polygonTouchesPolygonImpl_@4492-4590@.\src\main\java\com\esri\core\geometry\RelationalOperations.java
      25     16    185      5      27 RelationalOperationsMatrix::areaGeomContainsOrDisjointPredicates_@1704-1730@.\src\main\java\com\esri\core\geometry\RelationalOperationsMatrix.java
      50     16    302      4      58 SweepComparator::compareSegments@599-656@.\src\main\java\com\esri\core\geometry\SweepComparator.java
     116     16    809      2     167 TopoGraph::createHalfEdges_@984-1150@.\src\main\java\com\esri\core\geometry\TopoGraph.java
      79     16    463      4     111 TopologicalOperations::processPolygonCuts_@2018-2128@.\src\main\java\com\esri\core\geometry\TopologicalOperations.java
      69     16    459      2      87 Treap::unbalancedDelete_@828-914@.\src\main\java\com\esri\core\geometry\Treap.java
      34     16    193      0      43 WktParser::attributes_@278-320@.\src\main\java\com\esri\core\geometry\WktParser.java
myhelmisaari commented 4 years ago

The comment above is the result of command: lizard -s cyclomatic_complexity

axelkennedal commented 4 years ago

So I guess we'll just choose the top 10?

    NLOC    CCN   token  PARAM  length  location
------------------------------------------------
     509    106   2751      6     578 Cutter::_Cut@560-1137@./src/main/java/com/esri/core/geometry/Cutter.java
     192    104   1466      2     215 OperatorImportFromJsonCursor::importFromJsonParser@61-275@./src/main/java/com/esri/core/geometry/OperatorImportFromJsonCursor.java
     322     87   2226      3     422 OperatorImportFromESRIShapeCursor::importFromESRIShapeMultiPath@215-636@./src/main/java/com/esri/core/geometry/OperatorImportFromESRIShapeCursor.java
     247     85   1720      4     301 OperatorExportToESRIShapeCursor::exportMultiPathToESRIShape@600-900@./src/main/java/com/esri/core/geometry/OperatorExportToESRIShapeCursor.java
     271     81   1773      5     352 OperatorImportFromWkbLocal::importFromWkbPolygon@370-721@./src/main/java/com/esri/core/geometry/OperatorImportFromWkbLocal.java
     144     73   1272      3     171 OperatorImportFromWkbLocal::importFromWkb@198-368@./src/main/java/com/esri/core/geometry/OperatorImportFromWkbLocal.java
     189     59   1305      3     254 Clipper::clipPolygon2_@79-332@./src/main/java/com/esri/core/geometry/Clipper.java
     231     58   1664      8     345 Bufferer::clipFilter_@1427-1771@./src/main/java/com/esri/core/geometry/Bufferer.java
     226     53   1444      5     285 RelationalOperations::relate@42-326@./src/main/java/com/esri/core/geometry/RelationalOperations.java
     270     53   2305      9     372 GeoDist::geodesic_distance_ngs@95-466@./src/main/java/com/esri/core/geometry/GeoDist.java
myhelmisaari commented 4 years ago

Do you think we have to take top ten? Otherwise we could choose the functions that we write tests for? (with high cyclic complexity and low coverage)? Or is ~20 too low as cyclic complexity?

axelkennedal commented 4 years ago

We asked Cyrille and a couple of lab assistants, and no we do not have to choose the top ten. I think we should be fine if we choose functions with a CCN around 15-20.