...
All lower-case. No capitals or underscores.
Choose a name that does not need to be renamed using named imports at most call sites (unambiguous in the most frequent use contexts).
As discussed above, we still prefer package names to be unique across the entire project.
A good trick to make this work is to take the name of a parent package and add a suffix or prefix.
For example,server/serverpb
,kv/kvserver
,util/contextutil
,util/testutil
, etc.
Short and succinct. Remember that the name is identified in full at every call site.
Not plural. For example,
net/url
, notnet/urls
.Not "common", "util", "shared", or "lib". These are bad, uninformative names.
...