CloPeMa Programming Guidelines

This page should serve as a bible for all ClePeMa developers. It describes rules which should be followed in all CloPeMa code and repositories.

Git Repositories and ROS packages

  • No development work should be done in the master branch.
  • Each stable revision should have version number.
  • Do not commit generated files in the repository that include build, bin, lib and many other directories and files.
  • Use gitignore in order not to add generated files accidentally.
  • Each repository should have a maintainer stated on the wiki.

Code Style

  • Source code should follow ROS Cpp Style Guide or ROS Python Style Guide.
  • Each file should contain a unified header or at least be signed by author.
  • Every possible failure should be checked and accompanied by comprehensive error message.


  • Each node should have its documentation on the wiki.
  • The topics should be named universally (i.e. input and output, points, normals) and remaped in the task specific launchfile.
  • Make use of both topics and services.

Git Commit Messages