Conventions - AD-EYE/AD-EYE_Core GitHub Wiki

In order to have a coherent project despite a large number of people working on it, the conventions presented on this page need to be followed.

Coding conventions

Language link
C++ http://wiki.ros.org/CppStyleGuide
Python follow C++ conventions: http://wiki.ros.org/CppStyleGuide
Javascript http://wiki.ros.org/JavaScriptStyleGuide
Matlab https://www.ee.columbia.edu/~marios/matlab/MatlabStyle1p5.pdf (for functions use camelCase)

Naming checklist:

  • file names
  • variable names
  • class names
  • function names

To generate documentation for the code the comments should follow the guidelines under the section Documenting the code here.

Git conventions

Branch Naming conventions

A branch's name should never contain the name of its creator, but should explicitly refers to the work they're used for. You should use the following prefixes:

  • feature/... indicates the new feature you're working on

  • bugfix/... indicates the bug you're trying to fix

  • refactor/... indicates what you're modifying

The name of the branch itself must describe the feature well and follow the snakecase convention (words separated by underscores, _, all written in lowercase). A few examples are listed below:

  • Let's say you are working on a branch where you implement a new functionality for the GUI: to add a panel that represents the linear velocity of the car. Then, a good branch name is feature/linear_velocity_pannel
  • Imagine you want to fix a bug in the detection module classifying objects from camera images. A branch name for this case could be bugfix/camera_object_detector

The titles are short, but descriptive.

Commits

A commit name should be explicit, and never exceed a sentence. It should be phrased in past sense such as "Added trajectory markers".

Folder conventions

Experiments folders

For experiments everything should be in AD-EYE_Core/AD-EYE/Experiments as the following example showing what files are on Git. The two important points are:

  • the folder naming and structure
  • the Prescan experiment names.
AD-EYE_Core/AD-EYE/Experiments/W01_Base_World
├── Mapping
│   ├── Resources
│   │   └── LightMap
│   │       ├── GeneralLight.exr
│   │       └── GeneralLight.png
│   ├── W01_Base_World_cs_hws.mat
│   ├── W01_Base_World_cs.slx
│   └── W01_Base_World.pex
├── OpenSCENARIO
│   ├── Resources
│   │   └── LightMap
│   │       ├── GeneralLight.exr
│   │       └── GeneralLight.png
│   ├── W01_Base_World_cs_hws.mat
│   ├── W01_Base_World_cs.slx
│   └── W01_Base_World.pex
├── Pointcloud_Files
│   ├── pcd10220632.pcd
│   ├── pcd10225742.pcd
│   ├── ...
├── Simulation
│   ├── Resources
│   │   └── LightMap
│   │       ├── GeneralLight.exr
│   │       └── GeneralLight.png
│   ├── W01_Base_World_cs_hws.mat
│   ├── W01_Base_World_cs.slx
│   └── W01_Base_World.pex
└── Vector_Map_Files
    ├── dtlane.csv
    ├── lane.csv
    ├── line.csv
    ├── node.csv
    ├── point.csv
    ├── roadedge.csv
    ├── signaldata.csv
    ├── stopline.csv
    ├── vector.csv
    └── whiteline.csv