linstrom/Code-Style.md
2025-04-02 13:45:54 +02:00

1.1 KiB

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 and follow the conventions on [https://tip.golang.org/doc/comment]
  • Errors returned from public functions must either be wrapped with git.mstar.dev/mstar/goutils/other.Error and given appropriate descriptive information or return an error defined (as public variable) in that package. Example: other.Error("auth", "failed to do something important", originalError)

JS/TS

  • Biome should do most of the work