SuperAPI AI 工具集

kotlin-java-migration

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:把 Java 生产系统迁移为 Kotlin,目标是能力与行为等价,而不是写出看起来相似的代码;能编译的 Kotlin 工程只是中间状态。

主要能力:建立源码台账,记录每个生产类、接口、枚举、record、注解、嵌套类型、构造器、方法、字段契约与外部可见行为,状态分为 IMPLEMENTED、ADAPTED(附证据)或经批准的范围外,禁止静默省略、桩代码或占位符。保留值、错误、顺序、状态、并发、序列化、反射元数据、资源与副作用的 Java 语义,除非有文档化的有意变更。允许用 Kotlin 原生设计替换 Java 机制,但不得降低能力。

使用方式:先冻结范围与基线,记录源码/目标提交、Java/JDK/Gradle/Kotlin 版本、模块、生成源码、平台、特性开关、外部服务与排除项,并采集 Java 构建与测试基线。再构建源码台账,字段至少含 java_key、kind、target_path、target_symbol、status、evidence、notes,方法重载需完整签名,嵌套类型与默认/接口方法单独成行,并在 CI 中核对台账。随后映射架构与语义:Maven/Gradle 模块转为连贯的 Gradle Kotlin 模块;CompletableFuture/Reactor 仅在明确取消、顺序、背压、调度器与错误语义后映射为 suspend/Flow;Jackson、反射、注解、服务加载、代理、同步、ThreadLocal 与受检异常需明确目标设计。按垂直切片实现,每个切片同时迁移契约、生产行为、源码测试、资源、差分用例与 Kotlin 专属测试。将语义化 Javadoc、参数/返回/错误契约、线程安全、生命周期与兼容性约束翻译为 KDoc。最后运行门禁:./gradlew --no-daemon compileKotlin compileTestKotlin、./gradlew --no-daemon test、./gradlew --no-daemon check,再运行专用测试模块与 Java/Kotlin 差分套件。

适用场景:需要保持公共行为与 Java 调用点 ABI 兼容的大型 Java 代码库迁移。

限制:完成状态需分别报告生产对象、成员、源码测试方法/用例、资源、差分用例与 Kotlin 专属义务的分母,不得合并为单一百分比,也不得用覆盖率代替迁移完成度;资料未提供具体框架适配细节与测试模块实现。