#3119·sea-orm

重构宏的实现

作者: Huliiiiii创建于 2026年7月7日更新于 2026年8月12日
标签good first issuehelp-wanted

我在 #3118 中做了一些重构,但当前的宏实现仍然相当混乱。 重构主要是将混合解析和扩展的代码分成独立的步骤。 理想情况下,我们应该删除 `bae`。 我们可以考虑使用 `darling` 代替,或者手动编写解析代码。 当前的宏解析器支持所有可能的组合,我通过添加额外的正则化步骤来解决这个问题,但更好地清理相关代码。 还有一些其他可以简化的内容。 我注意到许多重复的模式,例如不同分支之间的逻辑重复,使用 `parse(&str)` 而不是 `syn::parse_quote`,使用手动构建的字符串和 `Ident` 而不是 `format_ident`,以及将类型如 `Type` 或 `Ident` 转换为 `String` 用于比较,然后再转换回原始类型,而不是直接进行比较。 我也注意到一些状态可以通过推导而非存储。 对于想要帮助此项目的贡献者,我建议从小的、有重点的更改开始,最好一次解决一个类别的问题。 此外,请不要打开由 LLM 生成的 PR。