Skip to content

Information for developers

Chris Mower edited this page Sep 29, 2025 · 3 revisions

Code style

  • All Python scripts must follow PEP 8, see here.
  • Use the Black python code formatter
  • Python code intents should be 4 spaces (not tabs, not 2 or any other amount of spaces).
  • do not use emojis in the logger output
  • avoid emojis in readme, main exception is the ark_framework readme
  • LCM file style below.

LCM Style Guide

package _arktypes_SUBPKGNAME;

// Explanation of LCM message type
struct MSGNAME {
  int64_t flag; // small explanation
  OTHERMSGNAME msg; // small explanation

  // Longer explanation if required
  _arktypes_OTHERSSUBPKGNAME.OTHERSUBPKGMSGTYPE other_msg;
}

Branding

Please always use Ark in written text, and ark in code and for file/package/link names.

The following should not be used

  • ARK
  • ARk
  • aRK
  • arK
  • aRk

Git

We should use git as follows.

Branching

main branch

The main branch in each repository should be the stable release and should always work.

Developers

Everyone should create branches from the main branch. Eg as follows

  1. git checkout main
  2. Then create a branch git checkout -b dev-NAME-FEATURENAME.

where NAME is your name (eg. cmower), and FEATURENAME is some meaningful name for what you're doing.

If you are addressing an issue in github, then FEATURENNAME should be the github issue number (go to the issue in github, you will see a number next to a hash sign (#).

Committing

Follow these steps.

  1. Checkout onto your new branch (as previous section).
  2. Commit code with meaningful messages.
  3. Push the code to the remote repo: git push origin dev-NAME-FEATURENAME
  4. Create a pull request and add at least one reviewer. Generally, only one is needed, unless there is a reasonable reason to add more reviewers.
  5. Address all comments/feedback from the reviewer and commit updates. Unless the reviewer specifies, it is the reviewers job to resolve conversations.
  6. Eventually, we will add unit tests to all repos, if tests report issues, you need to address them also before the reviewer looks at your code.
  7. Once the pull-request is approved by the reviewer, it is the job for the reviewer to merge the changes into the main branch.

Note, please make sure that when committing, the commit message is understandable and relates to what is being added. Commit messages such as "update" is not good.

Clone this wiki locally