如何在Dart Linter与PR流水线中禁止使用Bang操作符
Dart Bang操作符PR拦截及Lint规则配置说明
能否触发PR流水线构建失败
可以。只要在PR流水线的代码检查阶段配置了对应规则的校验,当代码中出现Bang操作符时,检查步骤会返回非0退出码,流水线就会判定为失败,阻止不符合规范的代码合并。
Dart Linter对应的禁止规则
官方Lint库内置了avoid_bang_operators规则,专门用于禁止代码中使用Bang(!)操作符,你只需要在项目根目录的analysis_options.yaml中做如下配置即可:
linter: rules: # 开启禁止Bang操作符检查 - avoid_bang_operators analyzer: errors: # 将该规则的严重级别设置为错误,触发时会导致dart analyze命令执行失败 avoid_bang_operators: error
配置生效后,你给出的示例代码Deal deal = widget.deal!会被直接判定为语法错误,执行dart analyze命令时会抛出错误提示。
如果存在必须使用Bang操作符的特殊场景,可以通过单行注释// ignore: avoid_bang_operators跳过当前行的检查,或者通过文件头部注释// ignore_for_file: avoid_bang_operators跳过整个文件的检查,建议仅在确认值一定非空的场景下使用上述忽略配置。
内容的提问来源于stack exchange,提问作者TSR
相关产品推荐
相关产品推荐

