gecko-dev/servo/docs/STYLE_GUIDE.md
Aneesh Agrawal 11fc215349 servo: Merge #10948 - Clean up CI bash scripts (from aneeshusa:clean-up-ci-bash-scripts); r=emilio
Also reverts #9572.

Source-Repo: https://github.com/servo/servo
Source-Revision: 288db30cbe1e46b20ddd1fd885744a5868a081e8
2016-05-01 08:46:16 -07:00

30 lines
833 B
Markdown

# Style Guide
The majority of our style recommendations are automatically enforced via our
automated linters. This document has guidelines that are less easy to lint for.
## Shell scripts
Shell scripts are OK for small tasks or wrappers, but prefer to use Python for
anything with a hint of complexity or in general.
Shell scripts should be written against bash, starting with this shebang:
```
#!/usr/bin/env bash
```
Note that the version of bash available on OS X by default is quite old, so be
careful when using new features.
Scripts should enable a few options at the top for robustness:
```
set -o errexit
set -o nounset
set -o pipefail
```
Quote all variables, using the full form: `"${SOME_VARIABLE}"`.
Use `"$(some-command)"` instead of backticks for command substitution. Note
that these should be quoted as well.