ONGOING WORK
推荐使用varorfinal关键字,不指定类型注解,隐式推断已知局部变量的类型。否则建议指定类型注释。至于dynamic关键字,当您进行手动类型检查时,在特定用例中应该非常谨慎地使用它。例如print(myVariable is SomeType)。
omit_local_variable_typesDart linter 规则鼓励省略已知局部变量的类型注释。always_specify_types鼓励为不属于前 linter 规则范围的案例指定类型注释。
var所有变量和参数都是类型化的;在任何可以找出实际类型的情况下,请避免使用“动态”或“对象”。在可能的情况下,始终专门化泛型类型。显式键入所有列表和映射文字。
这实现了两个目的:验证编译器推断的类型是否与您期望的类型匹配,并且在类型不明显的情况下(例如,调用构造函数以外的任何内容时)使代码自记录。
始终避免使用“var”。如果您明确表示类型未知,请使用“动态”,但更喜欢“对象”和强制转换,因为使用动态会禁用所有静态检查。
omit_local_variable_types考虑省略局部变量的类型注释。
通常,局部变量的类型很容易推断,因此不需要对其进行注释。
always_specify_types务必指定类型注释。
var在指定类型未知和省略类型注释的简写时避免使用。使用dynamic如果要显式的类型是未知的。使用Object,如果你正在明确你想要一个对象实现==和hashCode。
您可以参考Flutter repo 的样式指南、Dart 的 Linter 支持的 Lint 规则的完整列表和Effective Dart 的样式指南。
请注意,Flutter repo 的样式指南在 Flutter社区中使用,并且优先于 LinterRules 和 Effective Dart 的样式指南,尤其是在 repo 贡献中。据我所知,Flutter repo 的样式指南更像是一个超集样式指南,应该尊重 Dart Linter 规则。
| 归档时间: |
|
| 查看次数: |
541 次 |
| 最近记录: |