This document describes the coding style of ShakaCode. Yes, it's opinionated, as all style guidelines should be. We shall put as little as possible into this guide and instead rely on:
- Use of linters with our standard linter configuration.
- References to existing style guidelines that support the linter configuration.
- Anything additional goes next.
- See the Shakacode JavaScript Style Guide
Follow these style guidelines per the linter configuration. Basically, lint your code and if you have questions about the suggested fixes, look here:
- ShakaCode Javascript
- Use the eslint-config-shakacode npm package with eslint.
- JSDoc
- Follow a github-flow model where you branch off of master for features.
- Before merging a branch to master, rebase it on top of master, by using command like
git fetch; git checkout my-branch; git rebase -i origin/master
. Clean up your commit message at this point. Be super careful to communicate with anybody else working on this branch and do not do this when others have uncommitted changes. Ideally, your merge of your feature back to master should be one nice commit. - Run hosted CI and code coverage.