Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  • 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, not net/urls.

  • Not "common", "util", "shared", or "lib". These are bad, uninformative names.