其他
开发 Elixir/Phoenix 应用时:按函数式…
适用于使用 Elixir 和 Phoenix 构建 Web、实时或并发应用,并需要遵循函数式编程、Ecto、LiveView、ExUnit 与性能优化最佳实践的场景。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 40/100 ×0.15
适用场景
开发 Elixir/Phoenix 应用特定
解决思路
- 编写简洁、符合 Elixir 习惯的代码,并给出准确的代码示例。
- 遵循 Phoenix 的约定和最佳实践。
- 采用函数式编程模式和不可变数据。
- 优先使用高阶函数和递归,而不是命令式循环。
- 使用描述性命名,例如 `user_signed_in?`、`calculate_total`。
- 文件和函数、变量使用 `snake_case`。
- 模块名使用 `PascalCase`。
- 在 contexts、schemas、controllers 中遵循 Phoenix 约定。
- 有效使用 Elixir 的模式匹配和守卫(guards)。
- 利用 Phoenix 内置函数和宏。
- 有效使用 Ecto 进行数据库操作。
- 遵循 Elixir Style Guide。
- 使用 Elixir 管道操作符 `|>` 进行函数链式调用。
- 字符列表使用单引号,字符串使用双引号。
- 使用 Elixir 的 'let it crash' 理念和监督树(supervisor trees)。
- 实现正确的错误日志,并输出对用户友好的消息。
- 使用 Ecto changesets 做校验。
- 通过 flash 消息优雅地处理错误。
- 使用 Phoenix LiveView 实现动态、实时交互。
- 使用 Tailwind CSS 实现响应式设计。
- 使用 GenServer 实现有状态进程。
- 使用 ExUnit 结合 TDD 进行完整测试。
- 使用 Guardian/Pow 实现认证和授权。
- 通过数据库索引和缓存(ETS、Redis)进行优化。
- 使用 Ecto 的 `preload` 避免 N+1 查询。
- 利用 OTP 模式进行并发操作。
- 使用进程池进行资源管理。
适用边界 · 注意事项
- 非 Elixir/Phoenix 技术栈的项目不适用。
- 项目未采用 Ecto、ExUnit、LiveView、Tailwind CSS、Guardian/Pow 等具体库时,不应硬套对应条目,应按实际选型调整。
- 项目明确要求命令式/面向对象风格或受遗留代码强约束时,不宜强行套用这些惯用法。