Skip to content

Commit 92e48e4

Browse files
authored
Update APIReference.md (#3467)
1 parent 8cd6f5b commit 92e48e4

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

docs/design/APIReference.md

+23-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,27 @@
22

33
## API Reference
44

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.
628

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

Comments
 (0)