代码检查可以有效的提高代码质量,更进一步的说代码检查不仅仅是为了提高代码质量,已深入到代码程序的逻辑检查、内存使用情况的检查甚至更高层面的检查,很大程度上影响了程序的功能和性能。
代码检查分类 动态检查:程序运行时检查,侧重于内存和资源使用情况检查静态检查:指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。 代码静态检查带来的好处帮助程序开发人员自动执行静态代码分析,快速定位代码隐藏错误和缺陷;
帮助代码设计人员更专注于分析和解决代码设计缺陷;
显著减少在代码逐行检查上花费的时间,提高软件可靠性并节省软件开发和测试成本。
Dart如何检查 方法一:使用flutter analyze命令检查中间略…
方法二:使用AdnroidStudio自带的检查工具检查上面两种方式默认使用的是Dart的静态代码检查器dartanalyzer, 并使用内置在Flutter Tools内的终端工具进行代码扫描和分析。
检查出来的结果一般有三种等级 info不会导致分析失败的参考消息。例子:todowarning
警告,例如:analysis_option_deprecatederror
严重错误,导致失败的错误,例如:invalid_assignment 分析脚本 默认的分析脚本
https://github.com/flutter/flutter/blob/2.5.1/packages/flutter_tools/analysis_options.yaml
这里放上Flutter官方在2.5版本默认使用的分析脚本, 可以参考:analysis_options_user.yml
如何配置分析脚本检查器会根据项目根目录下的分析脚本执行检查, 该文件通常会与pubspec文件处于同一层级.
老版本的分析脚本命名为.analysis_options, 没有yaml后缀, 新版本统一命名为:analysis_options.yaml
检查器会使用#1检查other package和other other package, 使用#2检查my package.
开源脚本如果嫌一条条配置lint规则麻烦, 可以直接集成Google的开源项目pedantic或者effective dart(二选一).
dev_dependencies:
pedantic: ^1.0.0
dev_dependencies:
effective_dart: ^1.0.0
include: package:pedantic/analysis_options.yaml
or
include: package:effective_dart/analysis_options.yaml
如此,配置完成,之后使用上述两种方法其一,可以分析代码问题。
也可以自定义分析脚本文件,写法有两种,不可混用
linter:
rules:
- annotate_overrides
- await_only_futures
linter:
rules:
avoid_shadowing_type_parameters: false
await_only_futures: true
Exclude关键字用来排除不需要扫描的文件.
想要忽略某行代码或者某个文件不需要被检查, 可以使用 //ignore 关键字.
另外可以自定义某条lint规则的严重级别, dart支持3种自定义级别:
info: 只提示.warning: 警告级别.error: 错误, 分析不通过.只有error级别会导致analyze任务失败, 如果你项目中使用了CI, 注意只有此时会阻止任务继续执行.
参考资料pedantic 1.11.1(已停止维护)
flutter_lints(替代pendantic)
effective_dart 1.3.2
Flutter代码静态检查
Linter for Dart
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)