carla/Docs/cont_coding_standard.md

1.5 KiB

Coding standard


General

  • Use spaces, not tabs.
  • Avoid adding trailing whitespace as it creates noise in the diffs.

Python

  • Comments should not exceed 80 columns, code should not exceed 120 columns.
  • All code must be compatible with Python 2.7 and 3.7.
  • Pylint should not give any error or warning (few exceptions apply with external classes like numpy and pygame, see our .pylintrc).
  • Python code follows PEP8 style guide (use autopep8 whenever possible).

C++

  • Comments should not exceed 80 columns, code may exceed this limit a bit in rare occasions if it results in clearer code.
  • Compilation should not give any error or warning (clang++-8 -Wall -Wextra -std=C++14 -Wno-missing-braces).
  • The use of throw is forbidden, use carla::throw_exception instead.
  • Unreal C++ code (CarlaUnreal and Carla plugin) follow the Unreal Engine's Coding Standard with the exception of using spaces instead of tabs.
  • LibCarla uses a variation of Google's style guide.
  • Uses of try-catch blocks should be surrounded by #ifndef LIBCARLA_NO_EXCEPTIONS if the code is used in the server-side.