linting ros 代码的 ros 方式是什么?
对于 ros1,我找到了 roslint,但我不清楚这是否是 lint ros 代码的推荐方法,以及它是否仍然得到维护/支持(三年前的最后一次提交)。
对于 ros2,我找不到任何官方的 lint 解决方案。
不确定是否有“ROS 的 linting 方式”。对于您的 Python/C++ 代码,您基本上可以使用任何标准的 Python/C++ linter。
此外(使用 ROS 1 时)我强烈推荐catkin_lint,它检查包定义并通知诸如依赖声明不一致或缺少安装命令等问题(尤其是后者可以在从开发工作区转移到安装包时节省大量时间机器人上)。
有一个 linterament_lint
用于执行一些规则。作为包测试的一部分自动运行 linter(使用BUILD_TEST
):
ament_lint_auto
和ament_lint_common
:<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend>
find_package(ament_lint_auto REQUIRED)
ament_lint_auto_find_test_dependencies()