Skip to content

Development Guide

Aerin Brown edited this page Jan 11, 2025 · 1 revision

Design process

  1. Create an issue on the task board with a description defining why the task is necessary and what it depends on
  2. Create a folder in the software drive Software titled the name of the task with a documentation doc copied from the Template
  3. Fill up the sections including any links with potential and add a summary of what that resource covers
  4. Start working!
  5. Create a pull request and request review from division leader or SW lead
  6. Add final documentation to the wiki
  7. Present your task at a weekly meeting

Some tips...

  • Make sure to always update the common debug manual in the wiki with solutions to any problems you encounter that may one day be encountered by others
  • Focus on making things work before making them pretty
  • Regularly ask for review from your group leader or directly to the lead
  • Make sure to include tests both of typical and edge cases
  • Integration test only if your dependencies are already tested
  • Comment your code and format each file

Branch Conventions

Senior members manage division branches including:

  • Drive-sims
  • Arm-sims
  • Drive-control
  • Arm-control
  • ui General members develop on offshoot branches such as:
  • arm-sims-task-name
  • drive-sims-task-name
  • drive-control-task-name
  • arm-control-task-name
  • ui-task-name Make pull requests from task branches into their respective division branches and allow senior members to make pull requests into main. Request the manager of your task branch for review of your PR.

Conventional Commits

Prefix all of your commits with a message indicating what kind of commit it is

  • feat: for new features/functionality
  • fix: for bug fixes
  • chore: for updates that are neither features nor fixes (ex. Deleting old code, adding comments, etc) For more information on conventional commits, check out Conventional Commits

Comments

Include lots of inline comments explaining why you're doing things! For every function, include a long comment at the beginning that looks like this: """[Description of function]

Parameters
--------
    name: type
Description
    name2: type2
Description2
…

Returns
--------
    name: type
        Description
"""