关于 kotlin-best-practices
面向遵循相关约定的 Kotlin 开发者的速查技能,整理空值安全、错误处理、ORM、事务和 DTO 转换模式。
主要功能
- 01避免非空断言和 Manager 抛异常
- 02使用枚举值替代硬编码字符串
- 03规定 Exposed ORM 与软删除约定
- 04读操作使用副本,写操作使用主库
- 05规定响应 DTO 的转换模式
适用场景
- 01按项目约定检查 Kotlin 代码变更
- 02实现 Manager 与 Controller 的错误处理
- 03编写 Exposed ORM 表和查询
- 04组织多表写入事务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ c0x12c/ ai-toolkit --skill kotlin-best-practices安装后在 Claude Code 中输入/kotlin-best-practices确认已加载。
附带文件code-patterns.md
详细介绍
Kotlin 最佳实践 — 快速参考
空值安全
禁止使用 !!。使用 ?.、?: 或空值检查进行智能转换。
所有空值安全示例请参见 code-patterns.md。
Either 错误处理
管理器返回 Either<ClientException, T> -- 绝不抛出异常。控制器使用 .throwOrValue() 解包。
管理器和控制器示例请参见 code-patterns.md。
枚举用法
存在枚举时,绝不要硬编码字符串。始终使用 EnumName.VALUE.value。
枚举定义和用法模式请参见 code-patterns.md。
Exposed ORM 模式
继承 UUIDTable,使用 text() 而非 varchar()。始终筛选 deletedAt.isNull()。通过更新时间戳进行软删除,绝不硬删除。
表、查询和软删除示例请参见 code-patterns.md。
事务规则
读操作使用 db.replica,写操作使用 db.primary。多表写入放在同一个事务块中——要么全部成功,要么全部回滚。
事务示例请参见 code-patterns.md。
转换模式
在 Response DTO 内添加 companion object { fun from(entity) }。绝不要创建单独的映射器文件。
完整模式请参见 code-patterns.md。
应避免的做法
!!——始终使用?.、?:或空值检查@Suppress——修复根本原因- 抛出异常——改为返回
Either.left() - 在 SQL 中使用
VARCHAR——改用TEXT - 为枚举值硬编码字符串
- 使用
Table基类——改用UUIDTable - 字段注入——改用构造函数注入
评论
支持 Markdown