Skip to content
This repository was archived by the owner on Oct 3, 2023. It is now read-only.

Commit 6954ef0

Browse files
author
JBD
authored
Add note that namespace and pacakges are suggestions not hard rules (#23)
1 parent 0641311 commit 6954ef0

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

NamespaceAndPackage.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,21 @@
22

33
## Introduction
44
This document describes the key package names (namespaces, etc.).
5+
This is only a guideline, language implementations should
6+
consider the best option to be idiomatic.
57

68
## Structure
79
The top level package name MUST be **opencensus** (for URL model MUST use **io.opencensus**).
810

9-
The second level package names MUST be:
11+
The second level package names SHOULD be:
1012
* **stats**: for all measurement related functionality
1113
* **tags**: for all tagging related functionality
1214
* **context**: for all context related functionality
1315
* **trace**: for all trace functionality
14-
* **common**: for all public API components that are shared across multiple of the above. These are
16+
* **common**: for all public API components that are shared across multiple of the above^*^. These are
1517
typically utility classes such as timestamps, etc.
1618
* **internal**: If required, "internal" subdirectories/names of each of the above SHOULD be used
1719
for all internal API components. e.g. common internal can have utility classes such as providers,
18-
string manipulation, etc.
20+
string manipulation, etc.
21+
22+
(^*^): For Go, consider using the top-level package instead.

0 commit comments

Comments
 (0)