mcpField
K
kotlin-best-practices

kotlin-best-practices

github.com/c0x12c开发109119 次安装19 周前更新
代码仓库

关于 kotlin-best-practices

面向遵循相关约定的 Kotlin 开发者的速查技能,整理空值安全、错误处理、ORM、事务和 DTO 转换模式。

主要功能

  1. 01避免非空断言和 Manager 抛异常
  2. 02使用枚举值替代硬编码字符串
  3. 03规定 Exposed ORM 与软删除约定
  4. 04读操作使用副本,写操作使用主库
  5. 05规定响应 DTO 的转换模式

适用场景

  1. 01按项目约定检查 Kotlin 代码变更
  2. 02实现 Manager 与 Controller 的错误处理
  3. 03编写 Exposed ORM 表和查询
  4. 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