A.2 Kotlin 编码规范
1. 代码风格基础
1.1 命名规范
- 包名:全小写,无下划线(如
com.example.project)。 - 类/对象名:大驼峰式(如
UserRepository)。 - 函数/变量名:小驼峰式(如
calculateTotalPrice)。 - 常量名:全大写,下划线分隔(如
MAX_COUNT)。
1.2 缩进与空格
- 使用 4个空格(非制表符)缩进。
- 操作符两侧、逗号后需加空格:
val sum = 1 + 2 listOf(1, 2, 3)
2. 文件与类结构
2.1 文件组织
- 单文件建议包含 单个类/接口,文件名与主类名一致。
- 扩展函数应定义在被扩展类的同名文件中(如
StringExtensions.kt包含String的扩展)。
2.2 类布局顺序
class Example {
// 1. 伴生对象
companion object { ... }
// 2. 属性
val name: String = ""
// 3. 构造函数
constructor() { ... }
// 4. 方法(公共 -> 私有)
fun publicMethod() { ... }
private fun privateMethod() { ... }
}
3. 编码最佳实践
3.1 空安全处理
- 优先使用
val而非var。 - 避免
!!,改用安全调用?.或 Elvis 操作符?::val length = text?.length ?: 0
3.2 函数设计
- 函数参数不超过 5个,过多时改用数据类封装。
- 短 lambda 可写在括号外:
list.filter { it > 0 }
4. 注释与文档
4.1 KDoc 规范
- 公共 API 需用 KDoc 注释:
/** * 计算两数之和。 * @param a 第一个加数 * @param b 第二个加数 * @return 和值 */ fun sum(a: Int, b: Int) = a + b
4.2 避免冗余注释
- 代码应自解释,如:
// 不推荐 val x = 5 // 设置x为5 // 推荐 val retryCount = 5
5. 集合与函数式风格
5.1 不可变性优先
- 默认使用
List而非MutableList,除非需要修改。
5.2 链式调用格式化
- 多行链式调用时,点号换行对齐:
items.filter { it.isValid } .map { it.value } .sorted()
6. 官方资源参考
> 提示:可通过 `ktlint` 或 `detekt` 工具自动检查代码规范。