用途:为 Dart 3.x 项目提供一套以值类型优先、领域逻辑全函数化为核心的编码规范,判断每种语言特性是否值得使用——只有当某特性能把运行时静默失败转为编译错误时才采用。
主要能力:规定 sealed 类与穷尽 switch(禁止 default: 与 case _:);只使用 sealed class、final class、abstract interface class 三种类修饰符;封闭可操作集合用 sealed 层级,无载荷封闭集合用 enum;record 仅限层内临时多值返回;领域值不可变(final 字段、const 构造、copyWith、值相等);身份用稳定 id 字段而非全字段 equals;用类型表达非法状态不可表示;领域函数全函数化、不抛异常,不确定性作为显式返回值,程序员不变量用 assert;禁止 late、!、dynamic/Map<String, dynamic> 等诚实性规避;遵循 Effective Dart 命名(常量 lowerCamelCase);复杂度默认上限(方法约 30 行、build() 约 80 行、文件约 300 行、类公开 API 约 10 个成员、位置参数 ≤3、逻辑嵌套 ≤3,widget build 嵌套 ≤5)。
使用方式:按任务阅读 references/construct-verdict-table.md、references/immutability-and-equality.md、references/complexity-and-honesty.md;提交 PR 前运行 scripts/check-dart3-idioms.sh,并保持 dart analyze 无告警。
适用场景:Flutter/Dart 3.x 项目的领域建模、状态与值类型设计、代码评审与 CI 门禁。
限制:具体安装与集成步骤、收费与平台信息暂未提供;复杂度上限为默认值,内聚的超出需在 PR 中说明。