# GO Best Practices
- When should a piece of data have behavior?
- Regarding methods, When should I use value semantics vs. pointer semantics?
- when working with built-in types (e.g. strings, numerics, bools) use value semantics
- reference types follow value semantis
- **nit** receiver variable names should be no longer than 3 letters
- do not use pointer semantics on construction/initialization