用途
android-kotlin-core 是一个针对 Android 平台的 Kotlin 技能,用于在 Android 应用中安全地使用 Kotlin 惯用法。当请求涉及以下内容时适用:Android 应用中的 Kotlin 清理、将冗长的 Android Java 风格 Kotlin 转换为惯用写法、使用密封类表达 UI 状态。
主要目标:在 Android 应用中安全地使用 Kotlin 惯用法,包括可空性、数据类、密封类型、扩展函数和集合管道。
当范围扩大时,可交接给相邻技能:android-state-management、android-testing-unit。
主要能力
该技能围绕 Kotlin 语言惯用法展开,覆盖可空性(nullability)、数据类(data classes)、密封类型(sealed types)、扩展函数(extension functions)以及集合管道(collection pipelines)。其工作方式强调最小改动、正确性、可读性与长期可维护性。
使用方式
工作流程如下:
- 将请求映射到当前 Android 技术栈、模块边界和最低支持的 API 级别。
- 检查现有实现中的隐式假设、重复的辅助函数和过时模式。
- 应用最小改动,以提升正确性、可读性和长期可维护性。
- 针对相关的示例应用路径和仓库基准验证结果。
- 仅在核心基础稳定后,才将相邻工作交接给下一个专门技能。
示例命令:
- 正常路径:
cd examples/orbittasks-compose && ./gradlew :app:testDebugUnitTest - 边界情况:
cd examples/orbittasks-xml && ./gradlew :app:testDebugUnitTest - 失败恢复:
python3 scripts/eval_triggers.py --skill android-kotlin-core
适用场景
- 用密封接口和不可变数据收紧领域模型与 UI 状态模型。
- 守护跨越 XML Activity 边界的可空平台值。
- 将宽泛的辅助对象重构为聚焦的扩展函数,同时不破坏调用点。
限制与约束
护栏(Guardrails):
- 当官方 Android 与 Kotlin 指南与本地自定义约定冲突时,优先采用官方指南。
- 保持公共 API 简单明确;避免隐藏 Android 生命周期成本的聪明抽象。
- 除非请求明确需要,否则不要将架构清理与产品行为变更混在一起。
- 记录任何会影响旧模块或生成代码的兼容性约束。
反模式(Anti-Patterns):
- 在没有明确归属边界的情况下,将辅助函数散布到各模块。
- 将框架特定代码引入纯领域层或数据层。
- 当只需要更改一个契约时,重构所有相邻文件。
- 将迁移说明留作隐含,而不是写下来。
完成清单(Done Checklist):
- 实现路径明确、最小,并绑定到正确的 Android 界面。
- 相关示例命令和基准提示已被执行或更新。
- 当请求跨越边界时,已记录到相邻技能的交接。
- 官方参考覆盖所选模式以及主要的迁移或故障排除路径。
官方参考:
- https://developer.android.com/kotlin
- https://developer.android.com/build/kotlin-support
- https://kotlinlang.org/docs/coding-conventions.html
- https://kotlinlang.org/docs/null-safety.html