SuperAPI AI 工具集

dartdoc-conventions

编程与开发

查看项目

更新于 10-16 00:21

技能介绍

用途:对 Dart/Flutter 包的公开接口执行 Effective Dart 文档规范。凡是不带下划线 _ 的公开声明即视为调用方依赖的契约,必须带有 /// 文档注释,适用于新增或修改公开声明以及编写方法内 // 注释时。

主要能力与规则:每个公开声明(公开类、构造函数、方法、getter、顶层函数、typedef、字段)都要有 /// 文档;public_member_api_docs 作为错误启用,无“显而易见成员”豁免,缺少文档会导致构建失败。必须使用 /// 而非 /** */,后者会被 dartdoc 忽略(slash_for_doc_comments 告警)。首行是一个以句号结尾、独立成段的单句,工具在 API 列表中只显示这一句。方法/函数文档以第三人称动词短语开头(Returns、Schedules、Loads、Marks),布尔 getter 或以 bool 返回的方法以 Whether 开头。禁止复述名称;若公开成员除名称外无可补充,应改为 _ 私有。标识符用 [方括号] 交叉链接,comment_references 会对断链告警。方法内 // 只解释原因、注意事项或不变量,不复述代码;在不变量执行点重述约束,魔法常量注明来源。文档须与代码在同一 diff 中更新。每个导出桶文件(如 my_package.dart)需有 library; 前的库文档,dangling_library_doc_comments 为错误。

文档内容要求:说明单位、范围、可空性、抛出的异常与副作用;值类型需注明不可变性与 copyWith 关系;异步方法需说明其写入或变更的内容及可能抛出的异常;全函数(对所有输入都有返回、不抛异常)应明确说明。检查完成标准包括:改动代码的每个公开声明都有文档且首句独立成句;方法以动词开头、布尔 getter 以 Whether 开头;单位、范围、可空性、异常与副作用有记录;无复述名称的文档、无叙述性 //、无注释掉的代码、无无主 TODO、无 JavaDoc 块;导出桶有库文档且无悬空文档注释;dart analyze --fatal-infos --fatal-warnings 无告警,dart doc 生成无警告。

限制:资料未提供安装方式、运行命令入口或收费信息;相关技能包括 lint-and-style-config、naming-conventions、dart3-idioms-and-coding-standards、error-handling-typed-results。