跳到主内容

type_annotate_public_apis

稳定
有修复可用

为公共 API 添加类型注解。

详细信息

#

摘自 Effective Dart

建议 为公共 API 添加类型注解。

类型注解是关于如何使用库的重要文档。为公共方法和函数的参数和返回值类型添加注解有助于用户理解 API 的期望和提供的内容。

请注意,如果公共 API 接受 Dart 类型系统无法表达的一系列值,则可以接受不为其指定类型。在这种情况下,隐式的 dynamic 是该 API 正确的类型。

对于库内部的代码(无论是私有的,还是嵌套函数之类的),请在你认为有帮助的地方添加注解,但不要觉得你必须提供它们。

错误示例

dart
install(id, destination) {
  // ...
}

这里不清楚 id 是什么。是字符串吗?destination 又是什么?是字符串还是 File 对象?这个方法是同步的还是异步的?

正确示例

dart
Future<bool> install(PackageId id, String destination) {
  // ...
}

有了类型,所有这些都变得清晰了。

不兼容的规则

#

type_annotate_public_apis 规则与以下规则不兼容:

启用

#

要启用 type_annotate_public_apis 规则,请在你的 analysis_options.yaml 文件中的 linter > rules 下添加 type_annotate_public_apis

analysis_options.yaml
yaml
linter:
  rules:
    - type_annotate_public_apis

如果你使用的是 YAML map 语法来配置 linter 规则,请在 linter > rules 下添加 type_annotate_public_apis: true

analysis_options.yaml
yaml
linter:
  rules:
    type_annotate_public_apis: true