Development Process
One of the chief differences between ROS and ROS-Industrial is the level of code quality and reliability expected by users. ROS-I targets factory automation, where reliability and ease of use are paramount. As such, ROS-I has a more rigorous software development process that we expect contributors to follow. Similar to ROS, this process begins with ROS Enhancement Proposals (REP), followed by REP Reviews, refinement, and the launch of an official project. Once a project is under way, programmers are expected to use best coding practices which include:
- Architecting/encapsulating code to make it reusable
- Creating unit test code that runs at every build to detect breaking changes
Documenting code internally with Doxygen
- Documenting code externally with wiki pages and tutorials
- Following a style guide, which makes code easier for others to interpret
More information can be found in the ROS Developers Guide.
Using a continuous integration build server to detect broken dependencies
- Writing code that passes code quality analysis thresholds (implementation still pending)
- Subjecting code to peer review
Labelling code with status indicators