0

linting ros 代码的 ros 方式是什么?

对于 ros1,我找到了 roslint,但我不清楚这是否是 lint ros 代码的推荐方法,以及它是否仍然得到维护/支持(三年前的最后一次提交)。

对于 ros2,我找不到任何官方的 lint 解决方案。

4

2 回答 2

2

不确定是否有“ROS 的 linting 方式”。对于您的 Python/C++ 代码,您基本上可以使用任何标准的 Python/C++ linter。

此外(使用 ROS 1 时)我强烈推荐catkin_lint,它检查包定义并通知诸如依赖声明不一致或缺少安装命令等问题(尤其是后者可以在从开发工作区转移到安装包时节省大量时间机器人上)。

于 2018-10-19T08:38:19.700 回答
1

ROS2 开发指南解释了使用的规则。链路 1链路 2

有一个 linterament_lint用于执行一些规则。作为包测试的一部分自动运行 linter(使用BUILD_TEST):

  • 取决于ament_lint_autoament_lint_common

src 文件示例 Package.xml

<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend>
  • 2 行到您的 CMakeLists:(使用 BUILD_TEST)

src 文件示例 CMakeList

find_package(ament_lint_auto REQUIRED)
ament_lint_auto_find_test_dependencies()
于 2018-11-20T13:34:44.923 回答