Flutter之flutter_lints
大家都有过编写Dart代码后,倒头来却被集成开发环境(IDE)挑错的经验,
这是因为Dart分析器发现你编写的代码尚有可改进之处,也就是"lints"
lints是你的代码所应遵循的语法规则,就好比最佳实践一样,所以无论何时触发lint,它都会通知代码不符最佳实践。
预定义的规则集合称为“规则集”。
无论何时运行flutter_create
,您的Flutter项目会自动纳入一个名为flutter lints
的包
analysis_options.yaml
include: package:flutter_lints/flutter.yaml
这是Flutter开发所使用的预定义规则集,此包会使用Darts所推荐的规则集,并以新增Flutter规则的方式,就这个包来编译构建
include: package:lints/recommended.yaml
linter:
rules:
- avoid_print
- avoid_unnecessary_containers,
- avoid_web_libraries_in_flutter
- no_logic_in_create_state
- prefer_const_constructor
- prefer_const_constructors_in_immutables
- prefer_const_declarations
- prefer_const_literals_to_create_immutables
- sized_box_for_whitespace
- sort_child_properties_last
- use_build_context_synchronously
- use_full_hex_values_for_flutter_colors
- use_key_in_widget_constructors
例如sort_child_properties_last
FloatingActionButton(
child: Icon(Icons.add),
onPressed: _incrementCounter,
tooltip: 'Increment',
)
改为
FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
)
例如 avoid_print
void f(int x) {
print('debug: $x');
...
}
改为
void f(int x) {
debugPrint('debug: $x');
...
}
许多lint规则还附带预定义的修复程序
可以的话,运行dart fix --apply
或在IDE中应用Quick Fix
,Dart将自动为您修复代码以符合最佳实践。
想更加了解lint的作用以及是否有可用的修复程序,请参见Dart lints
无需执行任何操作便能使用flutter_lints
,因为Flutter create已预设包含flutter_lints
。不过现在知道Flutter lint是既有的包,务必要确保已遵循良好的编码。
想深入了解flutter_lints以及其他的包,请参考pub.dev
原文翻译自视频:视频地址
转载自:https://juejin.cn/post/7212453375085887549