Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf(mission_planner): remove queries on all road and shoulder lanelets #7024

Improve the search for closest lanelet

76db48e
Select commit
Loading
Failed to load commit list.
Closed

perf(mission_planner): remove queries on all road and shoulder lanelets #7024

Improve the search for closest lanelet
76db48e
Select commit
Loading
Failed to load commit list.
CodeScene Delta Analysis / CodeScene Cloud Delta Analysis (main) failed May 20, 2024 in 54s

CodeScene PR Check

Code Health Quality Gates: FAILED

  • Declining Code Health: 1 findings(s) 🚩

View detailed results in CodeScene

Details

🚩 Declining Code Health (highest to lowest):

  • Complex Method default_planner.cpp: DefaultPlanner::is_goal_valid

Annotations

Check warning on line 359 in planning/mission_planner/src/lanelet2_plugins/default_planner.cpp

See this annotation in the file changed.

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

❌ Getting worse: Complex Method

DefaultPlanner::is_goal_valid increases in cyclomatic complexity from 12 to 15, 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 notice on line 359 in planning/mission_planner/src/lanelet2_plugins/default_planner.cpp

See this annotation in the file changed.

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

ℹ Getting worse: Bumpy Road Ahead

DefaultPlanner::is_goal_valid increases from 2 to 3 logical blocks with deeply nested code, threshold is one single 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.