用途:这是一份“不该怎么做”的目录式技能,用于 Elixir/Phoenix 代码审查和重构,列出 8 个关键反模式及正确做法,而非初始实现指南。
适用时机:编写 Elixir 模块与函数、使用 Phoenix(Controller、LiveView)、构建 Ecto schema 与数据库查询、实现 BEAM 并发(Task、GenServer)、用 tagged tuple 处理错误、用 ExUnit 编写测试时加载。
主要能力与要点:错误处理用 {:ok, value} | {:error, reason} 而非 nil 或异常,并在 @spec 中显式记录错误分支;业务逻辑放在 context 模块而非 LiveView;用 Repo.preload/2 预加载关联避免 N+1 查询;with 中所有可失败操作都用 <- 绑定,避免用 =;频繁查询的列建索引;每个测试都要断言预期行为;with 链超过 4 步时拆成内聚函数。Phoenix 控制器错误处理需对 tagged tuple 做模式匹配。Ecto 查询不应写在业务逻辑模块内,应放在专用 query 模块或 schema 中。
使用方式与限制:技能本身提供正确与错误代码对照示例,作为审查、重构时对照检查用。资料未提供安装命令、运行步骤或收费信息,暂未提供。