README: add styleguide section
This commit is contained in:
parent
b30ccf4db8
commit
58837a8186
21
README.md
21
README.md
@ -12,3 +12,24 @@ Other third-party packages which integrate into these:
|
|||||||
package has a specific error it might return and which might be checked for a
|
package has a specific error it might return and which might be checked for a
|
||||||
function to perform that equality check will be supplied as part of the
|
function to perform that equality check will be supplied as part of the
|
||||||
package.
|
package.
|
||||||
|
|
||||||
|
## Styleguide
|
||||||
|
|
||||||
|
Here are general guidelines I use when making decisions about how code in this
|
||||||
|
repo should be written. Most of the guidelines I have come up with myself have
|
||||||
|
to do with package design, since packages are the only thing which have any
|
||||||
|
rigidity and therefore need any rigid rules.
|
||||||
|
|
||||||
|
Everything here are guidelines, not actual rules.
|
||||||
|
|
||||||
|
* `gofmt -s`
|
||||||
|
|
||||||
|
* https://golang.org/doc/effective_go.html
|
||||||
|
|
||||||
|
* https://github.com/golang/go/wiki/CodeReviewComments
|
||||||
|
|
||||||
|
* When deciding if a package should initialize a struct as a value or pointer, a
|
||||||
|
good rule is: If it's used as an immutable value it should be a value,
|
||||||
|
otherwise it's a pointer. Even if the immutable value implementation has
|
||||||
|
internal caching, locks, etc..., that can be hidden as pointers inside the
|
||||||
|
struct, but the struct itself can remain a value type.
|
||||||
|
Loading…
Reference in New Issue
Block a user