You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 04:06:03