- Functions that panic should have “Must” in their name
- In multi-value returns, put the error value last
- Don’t use naked returns. If you name return arguments, you don’t need to use them in the return directive. Do it anyway!
- Return early. Implement error handling as
if err != nil
rather thanif err == nil
. - Avoid stutter. If your package name is
vectordb
, don’t create functions likeNewVectorDB
orOpenVectorDB
. Remember they will be used along with the package name:vectordb.NewVectorDB()
,vectordb.OpenVectorDB()
. Avoid this stutter!New()
orOpen()
is perfectly fine. - Interfaces are Doers, and they are small. Interface names are kind of special in Go. Where other languages prepend a capital I to the name, Go chooses names ending in -er, such as Reader, Writer, or Closer. Besides that, interfaces are also small—a single function per interface is quite common.
- Getters without Get. Methods that read a value should not be prepended with “Get”. For example, if your method returns a URL, name it
URL()
rather thanGetURL()
.
References
📂 Go | Последнее изменение: 24.12.2024 14:22