style guide: add additional example

Signed-off-by: Johan Haals <johan.haals@gmail.com>
This commit is contained in:
Johan Haals
2022-10-20 10:21:35 +02:00
parent 4790fedb8e
commit 0a2fdfa802
+25
View File
@@ -134,6 +134,31 @@ This section describes guidelines for designing public APIs. It can also be appl
}
```
1. Use options as arguments to functions and methods, rather than positional arguments.
```ts
// Bad
function createWidget(id: string, name: string, width: number) {}
// Good
function createWidget(options: CreateWidgetOptions) {}
```
1. Avoid arrays as return types prefer response objects.
```ts
interface UserApi {
// Bad
// Can only return Users without signaling additional information such as pagination.
listUsers(): Promise<User[]>;
// Good
// Easy to evolve with additional fields.
listUsers(): Promise<ListUsersResponse>;
}
```
# Documentation Guidelines
We use [API Extractor](https://api-extractor.com/pages/overview/demo_docs/) to generate our documentation, which in turn uses [TSDoc](https://github.com/microsoft/tsdoc) to parse our doc comments.