Update documentation
This commit is contained in:
45
docs/src/formatting_and_style.md
Normal file
45
docs/src/formatting_and_style.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Formatting & Style
|
||||
|
||||
## Code formatting
|
||||
|
||||
I'm allergic to discussions about formatting. I'd rather make the computer do it
|
||||
for me.
|
||||
|
||||
For Rust, just use `cargo fmt`. For Python, use
|
||||
[black](https://github.com/psf/black). I'd rather not spend any effort in
|
||||
configuring the formatters (not possible for black anyway). For shell scripts,
|
||||
use [`shfmt`](https://github.com/mvdan/sh).
|
||||
|
||||
To autoformat all code, use `just fmt`
|
||||
|
||||
## Style
|
||||
|
||||
Honestly, no idea about style. I'm still learning Rust, so I'm trying to find a
|
||||
good style. Just try to keep it consistent when you add code.
|
||||
|
||||
## Linting
|
||||
|
||||
You can use `just lint` to run all lints.
|
||||
|
||||
### Rust
|
||||
|
||||
Clippy is the guard that prevents shitty code from getting into the code base.
|
||||
When running `just check`, any clippy suggestions will make the command fail.
|
||||
So make clippy happy! The easiest way:
|
||||
|
||||
* Commit your changes (so clippy can change safely).
|
||||
* Run `cargo clippy --fix` to do the easy changes automatically.
|
||||
* Run `cargo clippy` and take a look at the messages.
|
||||
|
||||
Until now, I had no need to override or silence any clippy suggestions.
|
||||
|
||||
### Shell
|
||||
|
||||
`shellcheck` lints all shell scripts. As they change very rarely, this is not
|
||||
too important.
|
||||
|
||||
## Unsafe code
|
||||
|
||||
Any `unsafe` code is forbidden for now globally via `#![forbid(unsafe_code)]`.
|
||||
I cannot think of any reason GRM may need `unsafe`. If it comes up, it needs to
|
||||
be discussed.
|
||||
Reference in New Issue
Block a user