注释引用
在文档注释中仅引用作用域内的标识符。
此规则自 Dart 2.0 起可用。
此规则提供了一个 快速修复。
详情
#**请**在文档注释中仅引用作用域内的标识符。
如果将变量、方法或类型名称等标识符用方括号括起来,则 IDE 和 dart doc
等工具可以链接到它们。要使此功能正常工作,请确保文档中用方括号括起来的所有标识符都在作用域内。
例如,假设 outOfScopeId
位于作用域之外
错误
dart
/// Returns whether [value] is larger than [outOfScopeId].
bool isOutOfRange(int value) { ... }
正确
dart
/// Returns the larger of [a] or [b].
int max_int(int a, int b) { ... }
请注意,方括号注释格式旨在允许注释使用相当自然的格式引用声明,但不允许任意表达式。特别是,方括号内的代码引用可以包含以下任何内容
- 一个裸标识符,它在注释的作用域内(有关文档注释中“作用域内”的含义,请参阅规范)。例如,
[print]
和[Future]
。 - 用点分隔的两个标识符(“带前缀的标识符”),其中第一个标识符充当命名空间标识符,例如用包含类名作为前缀的类属性名称或方法名称,或者用导入前缀作为前缀的顶级标识符。例如,
[Future.new]
(一个未命名构造函数)、[Future.value]
(一个构造函数)、[Future.wait]
(一个静态方法)、[Future.then]
(一个实例方法)、[math.max]
(假设“dart:async”已导入并使用max
前缀)。 - 带前缀的标识符后跟一对括号,用于区分命名构造函数与实例成员(其名称允许冲突)。例如,
[Future.value()]
。 - 用两个点分隔的三个标识符,其中第一个标识符是导入前缀名称,第二个标识符是顶级元素(如类或扩展),第三个标识符是该顶级元素的成员。例如,
[async.Future.then]
(假设“dart:async”已导入并使用async
前缀)。
已知限制
comment_references
lint 规则与 Dart 分析器对注释引用的概念一致,该概念有时与 Dartdoc 对注释引用的概念不同。即使分析器无法解析,lint 规则也可能会报告 Dartdoc 可以解析的注释引用。有关更多信息,请参阅 linter#1142。
用法
#要启用 comment_references
规则,请在 analysis_options.yaml
文件的linter > rules下添加 comment_references
analysis_options.yaml
yaml
linter:
rules:
- comment_references
除非另有说明,否则本网站上的文档反映的是 Dart 3.5.3。页面最后更新于 2024-07-03。 查看源代码 或 报告问题。