Skip to content

feat: add height filter param

CodeScene Delta Analysis / CodeScene Cloud Delta Analysis (main) failed Jan 22, 2025 in 1m 37s

CodeScene PR Check

Code Health Quality Gates: FAILED

Change in average Code Health of affected files: +0.22 (6.88 -> 7.10)

  • Declining Code Health: 81 findings(s) 🚩
  • Improving Code Health: 80 findings(s) ✅
  • Affected Hotspots: 8 files(s) 🔥

View detailed results in CodeScene

Absence of Expected Change Pattern

  • autoware.universe/planning/autoware_velocity_smoother/src/smoother/jerk_filtered_smoother.cpp is usually changed with: autoware.universe/planning/autoware_velocity_smoother/src/smoother/linf_pseudo_jerk_smoother.cpp

Details

🚩 Declining Code Health (highest to lowest):

  • Complex Conditional goal_planner_module.cpp: GoalPlannerModule::onFreespaceParkingTimer 🔥
  • Brain Method node.cpp: RoiClusterFusionNode::fuseOnSingleImage
  • Brain Method node.cpp: RoiDetectedObjectFusionNode::generateDetectedObjectRoIs
  • Large Method lanelet2_map_visualization_node.cpp: Lanelet2MapVisualizationNode::on_map_bin
  • Complex Conditional goal_planner_module.cpp: GoalPlannerModule::selectPullOverPath 🔥
  • Complex Conditional node.cpp: RoiDetectedObjectFusionNode::publish
  • Complex Conditional proxqp_interface.cpp: ProxQPInterface::initializeProblemImpl
  • Complex Method out_of_lane_module.cpp: OutOfLaneModule::plan
  • Complex Conditional goal_planner_module.cpp: GoalPlannerModule::onTimer 🔥
  • Deep, Nested Complexity pointcloud_map_loader_node.cpp: PointCloudMapLoaderNode::get_pcd_paths
  • Overall Code Complexity lanelet_filter.cpp
  • Overall Code Complexity utils.cpp
  • Deep, Nested Complexity objects_to_costmap.cpp: naive_mean_filter_on_grid_edges
  • Deep, Nested Complexity points_to_costmap.cpp: PointsToCostmap::calculateCostmap
  • Overall Code Complexity out_of_lane_module.cpp
  • Large Method manager.cpp: LaneChangeModuleManager::updateModuleParams 🔥
  • Complex Method scene.cpp: DetectionAreaModule::modifyPathVelocity
  • Complex Method static_centerline_generator_node.cpp: StaticCenterlineGeneratorNode::validate
  • Large Method test_osqp_interface.cpp: TEST:TestOsqpInterface:BasicQp
  • Large Method test_csc_matrix_conv.cpp: TEST:TestCscMatrixConv:Nominal
  • Complex Conditional utils.cpp: cylinder_and_box_overlap_exists
  • Complex Conditional node.cpp: RoiClusterFusionNode::fuseOnSingleImage
  • Complex Conditional points_to_costmap.cpp: PointsToCostmap::isValidInd
  • Complex Method ekf_localizer.cpp: EKFLocalizer::timer_callback
  • Large Method static_centerline_generator_node.cpp: StaticCenterlineGeneratorNode::StaticCenterlineGeneratorNode
  • Large Method example_interpolator.cpp: main
  • Large Method test_static_centerline_generator.test.py: generate_test_description
  • Bumpy Road Ahead goal_planner_module.cpp: GoalPlannerModule::selectPullOverPath 🔥
  • Complex Conditional scene.cpp: NormalLaneChange::filter_objects 🔥
  • Complex Method static_centerline_generator_node.cpp: StaticCenterlineGeneratorNode::on_plan_path
  • Complex Method lanelet_filter.cpp: ObjectLaneletFilterNode::filterObject
  • Complex Method objects_to_costmap.cpp: naive_mean_filter_on_grid_edges
  • Complex Method proxqp_interface.cpp: ProxQPInterface::initializeProblemImpl
  • Excess Number of Function Arguments proxqp_interface.cpp: ProxQPInterface::initializeProblemImpl
  • Complex Method qp_interface.cpp: QPInterface::initializeProblem
  • Excess Number of Function Arguments lanelet2_map_visualization_node.cpp: set_color
  • Complex Conditional lanelet2_map_loader_node.cpp: Lanelet2MapLoaderNode::on_map_projector_info
  • Complex Method pointcloud_map_loader_node.cpp: PointCloudMapLoaderNode::get_pcd_metadata
  • Excess Number of Function Arguments utils.cpp: cylinder_and_box_overlap_exists
  • Excess Number of Function Arguments node.cpp: RoiClusterFusionNode::fuseOnSingleImage
  • Excess Number of Function Arguments node.cpp: RoiDetectedObjectFusionNode::generateDetectedObjectRoIs
  • Excess Number of Function Arguments tensorrt_shape_estimator.cpp: TrtShapeEstimator::TrtShapeEstimator
  • Complex Method costmap_generator.cpp: CostmapGenerator::onTimer
  • Complex Conditional costmap_generator.cpp: CostmapGenerator::onTimer
  • Excess Number of Function Arguments object_map_utils.cpp: fill_polygon_areas
  • Complex Method points_to_costmap.cpp: PointsToCostmap::calculateCostmap
  • Complex Conditional scene_crosswalk.cpp: CrosswalkModule::checkStopForCrosswalkUsers 🔥
  • Complex Conditional node.cpp: RoiDetectedObjectFusionNode::generateDetectedObjectRoIs
  • Complex Method node.cpp: MotionVelocityPlannerNode::update_planner_data
  • Complex Method scene.cpp: StaticObstacleAvoidanceModule::fillFundamentalData 🔥
  • Complex Conditional scene.cpp: NormalLaneChange::calcTerminalLaneChangePath 🔥
  • Complex Conditional scene.cpp: NormalLaneChange::isRequiredStop 🔥
  • Complex Method node.cpp: MotionVelocityPlannerNode::generate_trajectory
  • Complex Method utils.cpp: construct_candidate_path 🔥
  • Bumpy Road Ahead goal_planner_module.cpp: GoalPlannerModule::onTimer 🔥
  • Bumpy Road Ahead lanelet2_map_loader_node.cpp: Lanelet2MapLoaderNode::load_map
  • Complex Method utils.cpp: get_min_dist_to_current_lanes_obj 🔥
  • Complex Method lanelet2_map_loader_node.cpp: Lanelet2MapLoaderNode::on_map_projector_info
  • Bumpy Road Ahead utils.cpp: construct_candidate_path 🔥
  • Bumpy Road Ahead utils.cpp: get_min_dist_to_current_lanes_obj 🔥
  • Excess Number of Function Arguments qp_interface.cpp: QPInterface::initializeProblem
  • Excess Number of Function Arguments qp_interface.cpp: QPInterface::optimize
  • Bumpy Road Ahead ekf_localizer.cpp: EKFLocalizer::update_predict_frequency
  • Bumpy Road Ahead ekf_localizer.cpp: EKFLocalizer::timer_callback
  • Bumpy Road Ahead differential_map_loader_module.cpp: DifferentialMapLoaderModule::differential_area_load
  • Bumpy Road Ahead pointcloud_map_loader_node.cpp: PointCloudMapLoaderNode::get_pcd_metadata
  • Bumpy Road Ahead pointcloud_map_loader_node.cpp: PointCloudMapLoaderNode::get_pcd_paths
  • Bumpy Road Ahead lanelet_filter.cpp: ObjectLaneletFilterNode::filterObject
  • Bumpy Road Ahead objects_to_costmap.cpp: naive_mean_filter_on_grid_edges
  • Bumpy Road Ahead objects_to_costmap.cpp: ObjectsToCostmap::makeCostmapFromObjects
  • Bumpy Road Ahead points_to_costmap.cpp: PointsToCostmap::calculateCostmap
  • Excess Number of Function Arguments points_to_costmap.cpp: PointsToCostmap::calculateCostmap
  • Excess Number of Function Arguments points_to_costmap.cpp: PointsToCostmap::makeCostmapFromPoints
  • Bumpy Road Ahead static_centerline_generator_node.cpp: StaticCenterlineGeneratorNode::validate
  • Bumpy Road Ahead node.cpp: MotionVelocityPlannerNode::generate_trajectory
  • Complex Method lanelet2_map_loader_node.cpp: Lanelet2MapLoaderNode::load_map
  • Bumpy Road Ahead scene_crosswalk.cpp: CrosswalkModule::checkStopForCrosswalkUsers 🔥
  • Bumpy Road Ahead lanelet2_map_loader_node.cpp: Lanelet2MapLoaderNode::on_map_projector_info
  • Excess Number of Function Arguments osqp_interface.cpp: OSQPInterface::initializeProblemImpl
  • Excess Number of Function Arguments osqp_interface.cpp: OSQPInterface::initializeCSCProblemImpl
  • Excess Number of Function Arguments osqp_interface.cpp: OSQPInterface::optimize

✅ Improving Code Health:

  • Complex Method tensorrt_yolox.cpp: TrtYoloX::TrtYoloX
  • Large Method ndt_scan_matcher_core.cpp: NDTScanMatcher::NDTScanMatcher 🔥
  • Overall Code Complexity planning_evaluator_node.cpp
  • Overall Code Complexity tensorrt_classifier.cpp
  • Lines of Code in a Single File tensorrt_yolox.cpp
  • Overall Code Complexity tensorrt_yolox.cpp
  • Lines of Code in a Single File node.cpp
  • Overall Function Size pid_based_planner.cpp
  • Overall Code Complexity goal_planner_module.cpp 🔥
  • Overall Code Complexity scene.cpp 🔥
  • Complex Method fusion_node.cpp: subCallback
  • Complex Method manager.cpp: LaneChangeModuleManager::updateModuleParams 🔥
  • Complex Method tensorrt_yolox.cpp: TrtYoloX::preprocessGpu
  • Complex Conditional manager.cpp: LaneChangeModuleManager::updateModuleParams 🔥
  • Complex Conditional goal_planner_module.cpp: FreespaceParkingPlanner::onTimer 🔥
  • Complex Conditional goal_planner_module.cpp: sortPullOverPaths 🔥
  • Large Method tensorrt_shape_estimator.cpp: TrtShapeEstimator::feed_forward_and_decode
  • Complex Method goal_planner_module.cpp: GoalPlannerModule::updateData 🔥
  • Complex Method tensorrt_yolox.cpp: TrtYoloX::initPreprocessBuffer
  • Complex Method tensorrt_classifier.cpp: TrtClassifier::TrtClassifier
  • Complex Method goal_planner_module.cpp: GoalPlannerModule::planPullOverAsOutput 🔥
  • Complex Method tensorrt_yolox.cpp: TrtYoloX::preprocessWithRoiGpu
  • Complex Conditional node.cpp: RoiDetectedObjectFusionNode::postprocess
  • Complex Method goal_planner_module.cpp: LaneParkingPlanner::onTimer 🔥
  • Complex Method goal_planner_module.cpp: sortPullOverPaths 🔥
  • Complex Method goal_planner_module.cpp: FreespaceParkingPlanner::onTimer 🔥
  • Complex Method goal_planner_module.cpp: FreespaceParkingPlanner::isStuck 🔥
  • Complex Method goal_planner_module.cpp: LaneParkingPlanner::LaneParkingPlanner 🔥
  • Complex Method tensorrt_classifier.cpp: TrtClassifier::preprocessGpu
  • Complex Method tensorrt_classifier.cpp: TrtClassifier::initPreprocessBuffer
  • Complex Method tensorrt_yolox.cpp: TrtYoloX::multiScalePreprocessGpu
  • Complex Conditional scene.cpp: NormalLaneChange::insert_stop_point_on_current_lanes 🔥
  • Primitive Obsession autoware_test_utils.cpp
  • Complex Method node.cpp: PointPaintingFusionNode::preprocess
  • Primitive Obsession tensorrt_classifier.cpp
  • Deep, Nested Complexity goal_planner_module.cpp: LaneParkingPlanner::onTimer 🔥
  • Complex Method planning.cpp: PlanningNode::on_timer
  • Complex Method scene.cpp: NormalLaneChange::check_candidate_path_safety 🔥
  • Complex Method fusion_node.cpp: setDet2DStatus
  • Complex Method fusion_node.cpp: roiCallback
  • Complex Method tensorrt_yolox.cpp: TrtYoloX::feedforwardAndDecode
  • Complex Method node.cpp: RoiDetectedObjectFusionNode::fuseObjectsOnImage
  • Complex Method net_monitor.cpp: NetSnmp::read_value_from_proc
  • Complex Method node.cpp: RoiDetectedObjectFusionNode::postprocess
  • Bumpy Road Ahead tensorrt_yolox.cpp: TrtYoloX::TrtYoloX
  • Bumpy Road Ahead tensorrt_yolox.cpp: TrtYoloX::initPreprocessBuffer
  • Bumpy Road Ahead tensorrt_yolox.cpp: TrtYoloX::preprocessGpu
  • Complex Method scene.cpp: NormalLaneChange::get_path_using_path_shifter 🔥
  • Complex Method scene.cpp: NormalLaneChange::is_colliding 🔥
  • Complex Method scene.cpp: NormalLaneChange::insert_stop_point_on_current_lanes 🔥
  • Complex Method scene.cpp: NormalLaneChange::compute_terminal_lane_change_path 🔥
  • Complex Method scene.cpp: NormalLaneChange::get_path_using_frenet 🔥
  • Complex Method node.cpp: PointPaintingFusionNode::postprocess
  • Bumpy Road Ahead tensorrt_classifier.cpp: TrtClassifier::initPreprocessBuffer
  • Bumpy Road Ahead tensorrt_classifier.cpp: TrtClassifier::preprocessGpu
  • Bumpy Road Ahead goal_planner_module.cpp: GoalPlannerModule::updateData 🔥
  • Bumpy Road Ahead goal_planner_module.cpp: LaneParkingPlanner::onTimer 🔥
  • Bumpy Road Ahead goal_planner_module.cpp: sortPullOverPaths 🔥
  • Bumpy Road Ahead goal_planner_module.cpp: FreespaceParkingPlanner::onTimer 🔥
  • Excess Number of Function Arguments shift_pull_out.cpp: ShiftPullOut::calcPullOutPaths
  • Bumpy Road Ahead planning.cpp: PlanningNode::on_timer
  • Bumpy Road Ahead tensorrt_yolox.cpp: TrtYoloX::multiScalePreprocessGpu
  • Bumpy Road Ahead net_monitor.cpp: NetSnmp::find_index
  • Bumpy Road Ahead tensorrt_classifier.cpp: TrtClassifier::TrtClassifier
  • Bumpy Road Ahead node.cpp: RoiDetectedObjectFusionNode::postprocess
  • Bumpy Road Ahead tensorrt_yolox.cpp: TrtYoloX::preprocessWithRoiGpu
  • Complex Method planning.cpp: convert
  • Complex Method planning.cpp: convert
  • Bumpy Road Ahead scene.cpp: NormalLaneChange::get_path_using_path_shifter 🔥
  • Excess Number of Function Arguments goal_planner_module.cpp: sortPullOverPaths 🔥
  • Complex Method topic_snapshot_saver.cpp: get_topic_index
  • Complex Method obstacle_pointcloud_validator.cpp: ObstaclePointCloudBasedValidator::onObjectsAndObstaclePointCloud
  • Overall Code Complexity fusion_node.cpp
  • String Heavy Function Arguments tensorrt_classifier.cpp
  • Brain Method shift_pull_out.cpp: ShiftPullOut::calcPullOutPaths
  • Code Duplication planning.cpp
  • Complex Conditional planning.cpp: convert
  • Overall Code Complexity planning.cpp
  • Complex Conditional vehicle_door.cpp: VehicleDoorNode::on_command
  • Primitive Obsession net_monitor.cpp

Annotations

Check warning on line 315 in map/autoware_lanelet2_map_visualizer/src/lanelet2_map_visualization_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Large Method

Lanelet2MapVisualizationNode::on_map_bin has 219 lines, threshold = 70. Large functions with many lines of code are generally harder to understand and lower the code health. Avoid adding more lines to this function.

Check warning on line 66 in map/autoware_lanelet2_map_visualizer/src/lanelet2_map_visualization_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Excess Number of Function Arguments

set_color has 5 arguments, threshold = 4. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check warning on line 136 in map/autoware_map_loader/src/lanelet2_map_loader/lanelet2_map_loader_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Complex Method

Lanelet2MapLoaderNode::on_map_projector_info has a cyclomatic complexity of 12, threshold = 9. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.

Check warning on line 186 in map/autoware_map_loader/src/lanelet2_map_loader/lanelet2_map_loader_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Complex Method

Lanelet2MapLoaderNode::load_map has a cyclomatic complexity of 10, threshold = 9. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.

Check warning on line 95 in map/autoware_map_loader/src/lanelet2_map_loader/lanelet2_map_loader_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Complex Conditional

Lanelet2MapLoaderNode::on_map_projector_info has 1 complex conditionals with 2 branches, threshold = 2. A complex conditional is an expression inside a branch (e.g. if, for, while) which consists of multiple, logical operators such as AND/OR. The more logical operators in an expression, the more severe the code smell.

Check warning on line 186 in map/autoware_map_loader/src/lanelet2_map_loader/lanelet2_map_loader_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Bumpy Road Ahead

Lanelet2MapLoaderNode::load_map has 3 blocks with nested conditional logic. Any nesting of 2 or deeper is considered. Threshold is one single, nested block per function. The Bumpy Road code smell is a function that contains multiple chunks of nested conditional logic. The deeper the nesting and the more bumps, the lower the code health.

Check warning on line 136 in map/autoware_map_loader/src/lanelet2_map_loader/lanelet2_map_loader_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Bumpy Road Ahead

Lanelet2MapLoaderNode::on_map_projector_info has 2 blocks with nested conditional logic. Any nesting of 2 or deeper is considered. Threshold is one single, nested block per function. The Bumpy Road code smell is a function that contains multiple chunks of nested conditional logic. The deeper the nesting and the more bumps, the lower the code health.

Check warning on line 71 in map/autoware_map_loader/src/pointcloud_map_loader/differential_map_loader_module.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Bumpy Road Ahead

DifferentialMapLoaderModule::differential_area_load has 2 blocks with nested conditional logic. Any nesting of 2 or deeper is considered. Threshold is one single, nested block per function. The Bumpy Road code smell is a function that contains multiple chunks of nested conditional logic. The deeper the nesting and the more bumps, the lower the code health.

Check warning on line 126 in map/autoware_map_loader/src/pointcloud_map_loader/pointcloud_map_loader_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Complex Method

PointCloudMapLoaderNode::get_pcd_metadata has a cyclomatic complexity of 9, threshold = 9. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.

Check warning on line 126 in map/autoware_map_loader/src/pointcloud_map_loader/pointcloud_map_loader_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Bumpy Road Ahead

PointCloudMapLoaderNode::get_pcd_metadata has 2 blocks with nested conditional logic. Any nesting of 2 or deeper is considered. Threshold is one single, nested block per function. The Bumpy Road code smell is a function that contains multiple chunks of nested conditional logic. The deeper the nesting and the more bumps, the lower the code health.

Check warning on line 151 in map/autoware_map_loader/src/pointcloud_map_loader/pointcloud_map_loader_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Bumpy Road Ahead

PointCloudMapLoaderNode::get_pcd_paths has 2 blocks with nested conditional logic. Any nesting of 2 or deeper is considered. Threshold is one single, nested block per function. The Bumpy Road code smell is a function that contains multiple chunks of nested conditional logic. The deeper the nesting and the more bumps, the lower the code health.

Check warning on line 151 in map/autoware_map_loader/src/pointcloud_map_loader/pointcloud_map_loader_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Deep, Nested Complexity

PointCloudMapLoaderNode::get_pcd_paths has a nested complexity depth of 4, threshold = 4. This function contains deeply nested logic such as if statements and/or loops. The deeper the nesting, the lower the code health.

Check warning on line 88 in map/autoware_map_loader/src/pointcloud_map_loader/utils.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Complex Conditional

cylinder_and_box_overlap_exists has 1 complex conditionals with 3 branches, threshold = 2. A complex conditional is an expression inside a branch (e.g. if, for, while) which consists of multiple, logical operators such as AND/OR. The more logical operators in an expression, the more severe the code smell.

Check warning on line 100 in map/autoware_map_loader/src/pointcloud_map_loader/utils.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Excess Number of Function Arguments

cylinder_and_box_overlap_exists has 5 arguments, threshold = 4. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check warning on line 740 in planning/autoware_static_centerline_generator/src/static_centerline_generator_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Complex Method

StaticCenterlineGeneratorNode::validate has a cyclomatic complexity of 14, threshold = 9. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.

Check warning on line 587 in planning/autoware_static_centerline_generator/src/static_centerline_generator_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Complex Method

StaticCenterlineGeneratorNode::on_plan_path has a cyclomatic complexity of 9, threshold = 9. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.

Check warning on line 282 in planning/autoware_static_centerline_generator/src/static_centerline_generator_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Large Method

StaticCenterlineGeneratorNode::StaticCenterlineGeneratorNode has 76 lines, threshold = 70. Large functions with many lines of code are generally harder to understand and lower the code health. Avoid adding more lines to this function.

Check warning on line 740 in planning/autoware_static_centerline_generator/src/static_centerline_generator_node.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Bumpy Road Ahead

StaticCenterlineGeneratorNode::validate has 3 blocks with nested conditional logic. Any nesting of 2 or deeper is considered. Threshold is one single, nested block per function. The Bumpy Road code smell is a function that contains multiple chunks of nested conditional logic. The deeper the nesting and the more bumps, the lower the code health.

Check warning on line 105 in planning/autoware_static_centerline_generator/test/test_static_centerline_generator.test.py

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Large Method

generate_test_description has 73 lines, threshold = 70. Large functions with many lines of code are generally harder to understand and lower the code health. Avoid adding more lines to this function.

Check warning on line 82 in common/autoware_qp_interface/src/osqp_interface.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Excess Number of Function Arguments

OSQPInterface::initializeProblemImpl has 5 arguments, threshold = 4. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check warning on line 123 in common/autoware_qp_interface/src/osqp_interface.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Excess Number of Function Arguments

OSQPInterface::initializeCSCProblemImpl has 5 arguments, threshold = 4. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check warning on line 392 in common/autoware_qp_interface/src/osqp_interface.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Excess Number of Function Arguments

OSQPInterface::optimize has 5 arguments, threshold = 4. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check warning on line 89 in common/autoware_qp_interface/src/proxqp_interface.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Complex Method

ProxQPInterface::initializeProblemImpl has a cyclomatic complexity of 10, threshold = 9. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.

Check warning on line 51 in common/autoware_qp_interface/src/proxqp_interface.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Complex Conditional

ProxQPInterface::initializeProblemImpl has 1 complex conditionals with 5 branches, threshold = 2. A complex conditional is an expression inside a branch (e.g. if, for, while) which consists of multiple, logical operators such as AND/OR. The more logical operators in an expression, the more severe the code smell.

Check warning on line 89 in common/autoware_qp_interface/src/proxqp_interface.cpp

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (main)

❌ New issue: Excess Number of Function Arguments

ProxQPInterface::initializeProblemImpl has 5 arguments, threshold = 4. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.