You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/design/APIReference.md
+23-3
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,27 @@
2
2
3
3
## API Reference
4
4
5
-
This page describes a general guideline for API Reference
5
+
This page describes a general guideline for API Reference.
6
+
7
+
### Definition
8
+
- SDK public APIs: all classes/interfaces annotated with `@SdkPublicApi`
9
+
- SDK protected APIs: all classes/interfaces annotated with `@SdkProtectedApi`
10
+
- SDK internal APIs: all classes/interfaces annotated with `@SdkInternalApi`
11
+
12
+
### General Guideline
13
+
14
+
- All SDK public APIs MUST have documentation.
15
+
- All public methods in SDK public APIs MUST have documentation except the ones that implement or override a method in an interface or superclass.
16
+
- For SDK protected APIs and internal APIs, documentation is recommended but not required.
17
+
- Javadocs for SDK public APIs in high level libraries such as DynamoDB Enhanced Client SHOULD include code snippets.
18
+
19
+
### Style guideline
20
+
21
+
- Javadoc MUST be properly formatted following the [Javadoc standard](https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html).
22
+
- A single `<p>` MUST be used between paragraphs.
23
+
- Use `@link` and `@see` tags to point to related methods/classes.
24
+
- Use `@throws` to specify exceptions that could be thrown from a method.
25
+
- Use `@snippet` to add code snippets. [External code snippets](https://docs.oracle.com/en/java/javase/18/code-snippet/index.html#external-snippets) SHOULD be favored over inline code snippets.
26
+
- Use `@deprecated` tag for deprecated methods. The replacement MUST be documented and linked using `{@link}`.
27
+
- Avoid using `@version` and `@since` tags.
6
28
7
-
- Public APIs MUST have Javadocs, and the documentation MUST be properly formatted following [Javadoc format](https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html)
8
-
- Public Javadocs for high level libraries such as DyanmoDB Enhanced Client or hand-written utilitiy mehods MUST have code snippets as part of Javadocs
0 commit comments