linstrom/Code-Style.md

883 B

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

  • Biome should do most of the work