linstrom/Code-Style.md

23 lines
883 B
Markdown

# Code style guide
## Go
- Use `gofmt`
- `jsonapi` fields must use dasharised names
(eg `some-field` instead of `some_field` or `someField`)
- Function, struct and variable names must describe their purpose adequatly.
Making them longer for that purpose is fine
- Follow [https://go.dev/doc/effective_go]
(which also happens to be convenient place to start learning Go)
- Always use zerolog for console output. In http handlers,
use `hlog.FromRequest` to get a logger instance prepared with a bunch of metadata
- As Linstrom is both intended for active use as well as providing a learning resource,
all functions and structs must be documented
- Errors returned from public functions must be wrapped with `git.mstar.dev/mstar/goutils/other.Error`
and given appropriate descriptive information
## JS/TS
<!-- TODO: Fill this out -->
- Biome should do most of the work