CTPath

Severity

Blocker 15
Critical 50
Major 7,718
Minor 7,894
Info 398

Rule

Control structures should use curly braces 1,316
Class variable fields should not have public accessibility 952
Local variable and method parameter names should comply with a naming convention 510
Branches should have sufficient coverage by unit tests 396
Useless parentheses around expressions should be removed to prevent any misunderstanding 395
Sections of code should not be "commented out" 385
Field names should comply with a naming convention 385
Statements should be on separate lines 358
Declarations should use Java collection interfaces such as "List" rather than specific implementation classes such as "LinkedList" 289
Methods should not be too complex 257
Package names should comply with a naming convention 175
Exception handlers should preserve the original exceptions 160
Generic exceptions should never be thrown 147
A close curly brace should be located at the beginning of a line 138
Nested code blocks should not be used 118
Strings literals should be placed on the left side when checking for equality 111
"FIXME" tags should be handled 95
Method parameters, caught exceptions and foreach variables should not be reassigned 95
"switch case" clauses should not have too many lines 92
Unused local variables should be removed 90
Local variables should not shadow class fields 88
Collapsible "if" statements should be merged 80
Collection.isEmpty() should be used to test for emptiness 78
Standard outputs should not be used directly to log anything 78
Close curly brace and the next "else", "catch" and "finally" keywords should be located on the same line 76
Method names should comply with a naming convention 72
Source files should not have any duplicated blocks 72
Loops should not contain more than a single "break" or "continue" statement 68
Methods should not be empty 54
Unused "private" fields should be removed 53
Loggers should be "private static final" and should share a naming convention 50
Empty arrays and collections should be returned instead of null 49
Unused method parameters should be removed 40
"switch" statements should end with "default" clauses 39
Utility classes should not have public constructors 33
Expressions should not be too complex 24
Nested blocks of code should not be left empty 23
Labels should not be used 21
Classes that override "clone" should be "Cloneable" and call "super.clone()" 20
"public static" fields should be constant 20
Exception classes should be immutable 19
Empty statements should be removed 18
Methods should not have too many parameters 16
Public methods should throw at most one checked exception 16
Classes should not be too complex 16
Octal values should not be used 16
Constant names should comply with a naming convention 14
Type parameter names should comply with a naming convention 13
Deprecated elements should have both the annotation and the Javadoc tag 12
Generic wildcard types should not be used in return parameters 12
Synchronized classes Vector, Hashtable, Stack and StringBuffer should not be used 11
Public constants and fields initialized at declaration should be "static final" rather than merely "final" 10
Lambdas and anonymous classes should not have too many lines 9
An open curly brace should be located at the end of a line 8
Try-catch blocks should not be nested 7
A field should not duplicate the name of its containing class 6
"for" loop stop conditions should be invariant 4
Case insensitive string comparisons should be made without intermediate upper or lower casing 2
Return of boolean expressions should not be wrapped into an "if-then-else" statement 2
IP addresses should not be hardcoded 1
Classes from "sun.*" packages should not be used 1
"Object.finalize()" should remain protected (versus public) when overriding 1
Class names should comply with a naming convention 1
Long suffix "L" should be upper case 1
Zoom   src/main/java/org/opentripplanner/routing/core 128
Zoom   src/main/java/com/conveyal/gtfs/model 98
Zoom   src/main/java/org/opentripplanner/profile 87
Zoom   src/main/java/org/opentripplanner/api/model 58
Zoom   src/main/java/org/opentripplanner/index/model 39
Zoom   src/main/java/org/opentripplanner/routing/graph 38
Zoom   src/main/java/org/opentripplanner/analyst/batch 35
Zoom   src/main/java/org/opentripplanner/analyst 30
Zoom   src/main/java/org/opentripplanner/analyst/request 30
Zoom   src/main/java/org/opentripplanner/standalone 29
Zoom   src/main/java/org/opentripplanner/graph_builder/module/osm 29
Zoom   src/test/java/org/opentripplanner/api/resource 28
Zoom   src/main/java/org/opentripplanner/routing/edgetype 22
Zoom   src/main/java/org/opentripplanner/common 22
Zoom   src/main/java/org/opentripplanner/routing/edgetype/factory 16
Zoom   src/main/java/org/opentripplanner/routing/impl 16
Zoom   src/main/java/org/opentripplanner/osm 15
Zoom   src/main/java/org/opentripplanner/api/resource 15
Zoom   src/main/java/com/google/transit/realtime 15
Zoom   src/main/java/com/conveyal/gtfs 14
Zoom   src/main/java/org/opentripplanner/routing/algorithm 12
Zoom   src/main/java/org/opentripplanner/inspector 11
Zoom   src/main/java/org/opentripplanner/common/model 10
Zoom   src/main/java/org/opentripplanner/visualizer 9
Zoom   src/main/java/org/opentripplanner/common/geometry 8
Zoom   src/main/java/org/opentripplanner/openstreetmap/model 8
Zoom   src/main/java/org/opentripplanner/routing/automata 8
Zoom   src/main/java/org/opentripplanner/api/param 8
Zoom   src/main/java/org/opensphere/geometry/algorithm 7
Zoom   src/main/java/org/opentripplanner/api/parameter 7
Zoom   src/main/java/org/opentripplanner/analyst/core 7
Zoom   src/main/java/org/opentripplanner/routing/trippattern 7
Zoom   src/main/java/org/opentripplanner/graph_builder/module 6
Zoom   src/main/java/org/opentripplanner/routing/transit_index 6
Zoom   src/main/java/org/opentripplanner/routing/util 6
Zoom   src/main/java/org/opentripplanner/routing/spt 5
Zoom   src/main/java/org/opentripplanner/graph_builder/model 5
Zoom   src/main/java/org/opentripplanner/routing/vertextype 5
Zoom   src/main/java/org/opentripplanner/graph_builder/module/ned 5
Zoom   src/main/java/org/opentripplanner/visibility 5
Zoom   src/main/java/org/opentripplanner/model 4
Zoom   src/main/java/org/opentripplanner/analyst/pointset 4
Zoom   src/main/java/org/opentripplanner/graph_builder/module/map 4
Zoom   src/main/java/org/opentripplanner/updater/stoptime 3
Zoom   src/test/java/org/opentripplanner/routing/core 3
Zoom   src/main/java/org/opentripplanner/graph_builder/annotation 3
Zoom   src/test/java/org/opentripplanner 3
Zoom   src/main/java/org/opentripplanner/api/model/error 3
Zoom   src/main/java/org/opentripplanner/graph_builder/module/extra_elevation_data 3
Zoom   src/main/java/org/opentripplanner/graph_builder/module/shapefile 2
Zoom   src/main/java/org/opentripplanner/graph_builder 2
Zoom   src/main/java/org/opentripplanner/index 2
Zoom   src/main/java/org/opentripplanner/graph_builder/services 1
Zoom   src/main/java/org/opentripplanner/api/common 1
Zoom   src/main/java/org/opentripplanner/routing/services 1
Zoom   src/main/java/org/opentripplanner/scripting/impl 1
Zoom   src/main/java/org/opentripplanner/routing/request 1
Zoom   src/main/java/org/opentripplanner/extra_graph 1
Zoom   src/main/java/org/opentripplanner/analyst/batch/aggregator 1
  RoutingRequest.java 96
  PlannerRequest.java 28
  ProfileRequest.java 24
  GraphIndex.java 20
  Itinerary.java 20
  RoutingContext.java 19
  Graph.java 18
  Segment.java 17
  GtfsRealtime.java 15
  TripPattern.java 14
  GTFSFeed.java 14
  TimeSurface.java 13
  GraphBuilderParameters.java 12
  Leg.java 12
  Stop.java 12
  Trip.java 11
  WalkStep.java 11
  TripTimeShort.java 11
  Calendar.java 10
  StopTime.java 10
  Router.java 9
  Route.java 9
  MavenVersion.java 9
  Place.java 8
  OpenStreetMapModule.java 8
  RasterPopulation.java 8
  SparseMatrix.java 7
  AStar.java 7
  SIsochrone.java 7
  ConcaveHull.java 7
  TileRenderer.java 7
  State.java 7
  Agency.java 7
  FeedInfo.java 7
  PointSet.java 7
  GtfsStopContext.java 7
  IsoChroneRequest.java 7
  Option.java 6
  StopShort.java 6
  FareAttribute.java 6
  CSVPopulation.java 6
  RouteSegment.java 6
  ProfileTransfer.java 6
  DebugOutput.java 6
  SlopeCosts.java 6
  GenericLocation.java 6
  GTFSPatternHopFactory.java 6
  OSMLevel.java 6
  Shape.java 5
  StopClusterDetail.java 5
  FrequencyEntry.java 5
  DCFareCalculator.java 5
  ElevationModule.java 5
  NodeGeomFilter.java 5
  SampleGridRenderer.java 5
  TurnRestriction.java 5
  RouteShort.java 5
  OTPServer.java 5
  Frequency.java 5
  StopCluster.java 5
  GtfsBundle.java 5
  TripShort.java 5
  RenderRequest.java 5
  Individual.java 5
  FareRule.java 5
  Stats.java 4
  CandidateEdge.java 4
  SyntheticRasterPopulation.java 4
  StopPattern.java 4
  OSM.java 4
  ShowGraph.java 4
  NearbyStopFinder.java 4
  Sample.java 4
  Timetable.java 4
  TimeRange.java 4
  EdgeVertexTileRenderer.java 4
  StreetSegment.java 4
  GraphScanner.java 4
  Transfer.java 4
  GenericDijkstra.java 4
  LuceneIndex.java 4
  CTX.java 4
  StopAtDistance.java 4
  HourMinuteSecond.java 3
  GtfsTest.java 3
  Ring.java 3
  PlannerError.java 3
  Service.java 3
  PropertyMetadata.java 3
  TransferTable.java 3
  SampleGridRequest.java 3
  TimetableSnapshotSource.java 3
  AnalystProfileRouterPrototype.java 3
  BasicPopulation.java 3
  CalendarDate.java 3
  NFA.java 3
  WayPropertySet.java 3
  ProfileRouter.java 3
  TripOvertakingException.java 3
  TripPlan.java 3
  GraphVisualizer.java 3
  AutomatonState.java 3
  IsochroneData.java 3
  SPTRequest.java 3
  InputClampFilter.java 3
  DefaultFareServiceImpl.java 3
  YearMonthDay.java 3
  MatchState.java 3
  GraphPath.java 3
  TurnRestrictionTag.java 3
  TileRequest.java 3
  PatternDetail.java 3
  VLPoint.java 2
  NegativeHopTime.java 2
  ElevationPoint.java 2
  NotePicker.java 2
  TripTimes.java 2
  SampleRequest.java 2
  ShapefilePopulation.java 2
  Transition.java 2
  CreativeNamerPicker.java 2
  PortlandCustomNamer.java 2
  GraphBuilder.java 2
  ResultSetDelta.java 2
  RouteDialog.java 2
  ResultSet.java 2
  InputStreamGraphSource.java 2
  ResultSet.java 2
  T2.java 2
  PatternShort.java 2
  TestTransfers.java 2
  ShortestPathTree.java 2
  Node.java 2
  TransitStop.java 2
  OSMNode.java 2
  IntersectionVertex.java 2
  OTPMain.java 2
  NamedPlace.java 2
  TimeSurfaceShort.java 2
  pair.java 2
  QualifiedMode.java 2
  NoteProperties.java 2
  Histogram.java 2
  SpeedPicker.java 2
  TileCache.java 2
  IndexAPI.java 2
  PointSetShort.java 2
  CandidateEdgeBundle.java 2
  StopTimesInPattern.java 2
  LatLon.java 2
  SampleSet.java 1
  DefaultStreetEdgeFactory.java 1
  DecayAccumulator.java 1
  BannedStopSet.java 1
  MIMEImageFormat.java 1
  Fare.java 1
  Style.java 1
  TraversalRequirements.java 1
  Entity.java 1
  TimeTracker.java 1
  SPTVisitor.java 1
  IsoTimeParameter.java 1
  NodeLoader.java 1
  Response.java 1
  ScriptingService.java 1
  DirectionUtils.java 1
  ResultSetWithTimes.java 1
  TransitBoardAlight.java 1
  ShapefileStreetModule.java 1
  ExternalGeocoderResource.java 1
  StateData.java 1
  TransitStopStreetVertex.java 1
  CaseBasedBooleanConverter.java 1
  EdgesForRoute.java 1
  GtfsModule.java 1
  EnvelopeParameter.java 1
  StreetTraversalPermission.java 1
  ParameterException.java 1
  UnsupportedGeometryException.java 1
  DownloadableGtfsInputSource.java 1
  CRSParameter.java 1
  MidblockMatchState.java 1
  OSMSpecifier.java 1
  WayLoader.java 1
  SimpleTraversalCostModelTest.java 1
  ThresholdSumAggregator.java 1
  QualifiedModeSetSequence.java 1
  OSMDatabase.java 1
  Way.java 1
  PatternHop.java 1
  ProfileResponse.java 1
  Tagged.java 1
  ElevatorHopEdge.java 1
  OTPApplication.java 1
  SurfaceCache.java 1
  VLPolygon.java 1
  RepeatedStops.java 1
  EarliestArrivalSearch.java 1
  ExtraElevationData.java 1
  ThresholdAccumulator.java 1