Skip to content

Everything Claude Code Kotlin Patterns Skill 是一套专为 Kotlin 生产环境打造的惯用模式与最佳实践集合,涵盖协程、null safety、DSL Builder、数据类、sealed class/interface、委托等核心特性。它在 AI 编程助手(如 Claude Code、Codex、Cursor)辅助下,自动引导和审查你的 Kotlin 代码是否符合业界标准,帮助你写出更健壮、简洁、易维护的 Kotlin 应用。Skill 可在新代码开发、重构、代码审查、模块设计和 Gradle Kotlin DSL 配置等场景自动触发,极大提升 AI 辅助 Kotlin 开发的效率和一致性。

Everything Claude Code Kotlin Patterns Skill:协程、null safety、DSL Builder 与惯用 Kotlin 最佳实践

Kotlin Patterns Skill 是 Everything Claude Code 插件体系中专为 Kotlin 语言打造的惯用模式 Skill,聚焦于提升代码健壮性、可维护性与现代 Kotlin 风格表达。无论你是初次使用 AI 编程助手,还是希望深度定制自己的 Kotlin 代码生成/审查流程,这个 Skill 都能为你的项目带来显著提升。

1. 适用场景与激活时机

Kotlin Patterns Skill 适用于以下典型场景:

  • 新代码开发:AI 生成 Kotlin 代码时,Skill 自动约束输出符合 Kotlin 惯用法(如 null safety、表达式体、数据类等)。
  • 代码审查与重构:调用 Kotlin Reviewer AgentCode Reviewer Agent 时,Skill 会自动检查并建议最佳实践改进。
  • 模块/库设计:设计 API、类型层次或 DSL Builder 时,Skill 提供模式建议,避免反模式。
  • Gradle Kotlin DSL 配置:自动生成或优化 build.gradle.kts,确保构建脚本现代、安全、易维护。

Skill 可通过 Agent 自动触发,也可在手动请求 AI 生成/审查 Kotlin 代码时生效。与 Claude Code 快速上手指南 配合,可实现一站式 AI 辅助 Kotlin 项目开发。

2. 使用流程与典型操作

Step 1:启用 Kotlin Patterns Skill

  • 在 ECC 配置中勾选或通过 configure-ecc 向导启用 kotlin-patterns Skill。
  • 确保你的 Agent(如 kotlin-reviewerbuild-error-resolver)已安装并配置好 Kotlin 相关能力。

Step 2:AI 生成/审查代码时自动应用

示例 1:生成带 null safety 的函数

kotlin
fun getUserEmail(userId: String): String {
    val user = userRepository.findById(userId)
    return user?.email ?: "unknown@example.com"
}

Skill 自动建议使用安全调用(?.)和 Elvis 操作符(?:),避免 NPE。

示例 2:设计数据类与值类型

kotlin
data class User(
    val id: String,
    val name: String,
    val email: String,
)

@JvmInline
value class UserId(val value: String)

Skill 自动推荐 data class/value class,提升类型安全与可读性。

示例 3:协程与 Flow 并发模式

kotlin
suspend fun fetchUserWithPosts(userId: String): UserProfile =
    coroutineScope {
        val user = async { userService.getUser(userId) }
        val posts = async { postService.getUserPosts(userId) }
        UserProfile(user = user.await(), posts = posts.await())
    }

Skill 自动选择结构化并发(coroutineScope),并在流式场景下推荐 Flow 及其操作符。

示例 4:DSL Builder 自动生成

kotlin
val config = serverConfig {
    host = "0.0.0.0"
    port = 443
    ssl("/certs/cert.pem", "/certs/key.pem")
    database("jdbc:postgresql://localhost:5432/mydb", maxPoolSize = 20)
}

Skill 自动输出带 @DslMarker 注解的类型安全 DSL Builder。

Step 3:Skill 输出解读

每次 AI 生成/审查 Kotlin 代码时,Skill 会:

  • 自动标注惯用模式(如“推荐使用 data class”、“建议用 Flow 处理异步流”)
  • 检查反模式(如“发现不安全的 user!! 强制解包”、“建议避免全局 mutable state”)
  • 输出改进建议和重构后的代码片段
  • 在复杂场景下,自动选择合适的并发、类型安全、DSL、委托等模式

输出示例:

检查到 user!! 存在 NPE 风险,建议改为:

kotlin
val email = user?.email ?: "unknown@example.com"

架构建议:API 响应类型建议用 sealed interface,便于后续扩展和 exhaustiveness 检查。

Step 4:与其他 Agent/Skill 协作

3. 常见输出与预期效果

  • 代码自动使用 val、不可变集合、表达式体、copy()、extension function 等现代 Kotlin 语法
  • 自动规避反模式,如全局 mutable state、强制解包、异常控制流、深度嵌套 scope function
  • 自动输出类型安全的 DSL Builder、Gradle Kotlin DSL 配置片段
  • 复杂类型自动推荐 sealed class/interface、value class、Result 封装
  • 并发与异步场景自动选择 coroutineScope、supervisorScope、Flow、ensureActive 等最佳实践

4. 高阶实践与定制

5. 反模式与注意事项

Skill 会自动识别并规避以下常见反模式:

  • 强制解包(!!)导致 NPE
  • 可变全局变量、mutable data class
  • 直接使用 GlobalScope、忽略结构化并发
  • 用异常做业务流控制
  • 深度嵌套 scope function,影响可读性
  • Java 平台类型未妥善 null 安全处理

建议始终让 AI 先输出惯用 Kotlin 风格代码,再根据实际需求适度调整。


FAQ

Q: Skill 会覆盖已有的项目风格吗?
A: 默认遵循 Kotlin 官方最佳实践,可通过 Rules 体系自定义风格,Skill 会自动适配你的项目规范。

Q: 如何与其他 Kotlin 相关 Agent 协同?
A: 只需在 Agent 配置中启用相关 Skill,AI 会自动在代码生成、审查、构建修复等环节调用 Kotlin Patterns Skill,无需手动干预。

Q: 生成的 DSL Builder 能否直接用于生产?
A: Skill 输出的 DSL Builder 遵循类型安全和 @DslMarker 标准,结构清晰,可直接用于生产环境,建议结合单元测试验证业务逻辑。