Skip to content

Latest commit

 

History

History
76 lines (60 loc) · 2.73 KB

README.md

File metadata and controls

76 lines (60 loc) · 2.73 KB

NU Horizon

About

Coming Soon...

Navigation

  • .
    • README.md - File contains meta information about the project, project structure, and coding conventions
    • ...

Style Guide

  • General Rules of Thumb
    • Include a purpose statement for all methods/functions
    • Include a signature for any non-typed language (Python)
    • No function/method should be longer than 20 lines.
    • One function/method for one purpose

ROS Packages

All ROS Packages should conform to the following structure...

/package_name                   # Top Level package folder
    /msg                        # Contains all custom messages defined in this package
        CustomMsg.msg
        OtherCustomMsg.msg
    /srv                        # Contains all custom services for this package
        CustomService.srv 
    /action                     # Contains all custom actions for this package
        CustomAction.action     
    /launch                     # Contains all launchfiles for this package
        launch_node.launch

    # FOR C++ Packages
    /include/package_name       # Contains headerfiles for all custom classes
        custom_class.h
    /src                        # Contains implementations for all custom classes
        custom_class.cpp

    # For Python Packages
    /nodes                      # Contains executables for custom nodes
        custom_node 
    /src                        # Contains custom python modules used in this package      
        custom_module.py

    CMakeLists.txt              # Build Specification
    package.xml                 # Package Information
    README.md                   # Package Description (Discusses purpose of node(s) and provided topics/services/actions)

C++

For all cpp files the formatter: clang-format should be used. Developers should use the .clang-format file in the top level of the directory.

If an ide exension doesnt exist the command-line applications can be used.

Python

For all python files the formatter: black should be used with default format settings.

If an ide exension doesnt exist the command-line applications can be used.

.msg/.srv/.action

When defining custom messages, services, and actions always...

  • Comment Units for scalar quantities

Workflow

  • Rules for workflow
    • NEVER COMMIT DIRECTLY TO MASTER
    • Add all features on branches
    • PR's must be reviewed by 2 people before merging