用途:在编写 Dart 代码、审查代码风格、重构命名、补充文档注释、整理导入结构或强制类型注解时,按 Effective Dart 规范给出统一做法。
主要能力: 命名约定:类、枚举、typedef、类型参数、扩展用 UpperCamelCase;包、目录、源文件与导入前缀用 lowercase_with_underscores;变量、参数、函数用 lowerCamelCase;超过两个字母的缩写按单词大小写(HttpRequest 而非 HTTPRequest);类型参数沿用 E、K/V、T/S/U 等助记约定。 类型与函数:用 final、sealed、interface、base、mixin 等类修饰符控制继承与实现;为无初始化的变量、字段、顶层变量、函数返回值和参数添加类型注解;未推断出的泛型调用写明类型实参;无返回值的异步成员用 Future<void>;概念上访问属性用 getter,改变属性用 setter。 风格与结构:用 dart format 格式化而非手工排版;所有流程控制语句加花括号;优先 final 与 const;行宽尽量不超过 80 字符;文件保持单一职责并限制长度;声明尽量私有化。 导入:不导入其他包 src 目录下的库;导入路径不进出 lib;包内优先相对路径;不使用 /lib/ 或 ../。 用法模式:相邻字符串拼接而非 +;使用集合字面量;用初始化形参;空构造函数体不写 {};捕获后用 rethrow 保留堆栈;用 whereType<T>() 按类型过滤集合;重写 == 时同时重写 hashCode;优先 on SomeException catch (e) 等具体异常处理。 文档:类型与成员用 /// 而非 /* */;公开 API 建议写文档注释;首句为单句摘要并独立成段;布尔属性注释以 Whether 开头;用 [identifier] 引用作用域内标识符;文档注释放在元数据注解之前。 测试:业务逻辑用 group 与描述性测试名编写单元测试;Widget 测试用 testWidgets 与 WidgetTester。 代码审查流程:检查命名、类型注解、类修饰符、文档注释;运行 dart format --output=none --set-exit-if-changed . 验证格式;运行 dart analyze 确认无问题。
适用场景:Dart/Flutter 项目日常开发、代码评审、重构与规范落地。
限制:资料未提供该技能的安装方式、平台支持、收费情况或效果数据;具体规则以 Effective Dart 官方文档为准。