AvaloniaStack/scripts/生成注释提示词.txt

61 lines
3.0 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

你是一个资深 C# 工程师。现在我会给你一个 missing-csharp-docs.txt 文件,里面列出了项目中缺少 XML 文档注释的 C# 类型、方法、属性、字段、构造函数、接口成员等。
请根据这个 txt 文件逐项读取对应源码文件,并直接修改源码,为缺少注释的成员补全中文 XML 文档注释。
要求如下:
1. 注释必须是中文。
2. 使用标准 C# XML 文档注释格式。
3. 类、接口、record、struct、enum 使用:
/// <summary>
/// ...
/// </summary>
4. 方法、构造函数必须尽量补全:
/// <summary>
/// ...
/// </summary>
/// <param name="xxx">...</param>
/// <returns>...</returns>
/// <exception cref="...">...</exception>
5. 如果方法没有参数,不要生成 <param>。
6. 如果方法返回 void、Task 或构造函数,不要生成无意义的 <returns>。
7. 如果方法返回 Task<T>、ValueTask<T>、T、IEnumerable<T> 等有实际返回值的类型,需要生成 <returns>,说明返回内容。
8. 如果方法体中明确 throw 了异常,或声明逻辑明显可能抛出特定异常,可以补充 <exception>;不确定时不要乱写。
9. 属性使用:
/// <summary>
/// 获取或设置...
/// </summary>
如果是只读属性,写“获取...”;如果是计算属性,说明它计算或表示的含义。
10. 字段使用:
/// <summary>
/// 保存/定义/指示...
/// </summary>
11. 枚举成员也要加中文 summary说明每个枚举值的含义。
12. 接口方法必须在 interface 中写完整注释,包括 summary、param、returns。
13. 具体实现类如果实现了已有注释的接口方法,优先使用:
/// <inheritdoc />
不要在实现类重复写一大段相同注释。
14. 如果实现类方法不是接口实现,或者接口中没有对应注释,则在实现类中写完整注释。
15. 不要只根据方法名机械生成注释,要结合方法体、参数、返回值、调用逻辑和业务语义来写。
16. 不要改业务逻辑,不要改方法签名,不要改格式以外的代码。
17. XML 注释放在 attribute 之前,例如:
/// <summary>
/// 用户 ID。
/// </summary>
[Column("user-id")]
public int UserId { get; set; }
18. 如果成员前已经有 XML 注释,不要重复添加。
19. 如果 txt 中的行号因为代码变化不准确,要通过成员名称和声明内容定位实际源码位置。
20. 修改完成后,重新运行已有的注释扫描脚本确认缺失项为 0。
21. 最后运行相关 dotnet build 验证没有语法错误。
22. 最后给我总结:修改了哪些文件、补了多少处注释、扫描结果、构建结果。
执行方式:
- 直接读取 missing-csharp-docs.txt。
- 按 txt 中列出的 File、Line、Kind、Name、Declaration 定位源码成员。
- 逐文件修改。
- 不要新建额外的注释生成脚本。
- 不要生成新的工具脚本。
- 可以使用现有脚本重新扫描验证。
- 最终直接完成代码修改。