Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
  • A.2 Kotlin 编码规范

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. 官方资源参考

  • Kotlin 官方编码规范
  • Android Kotlin 风格指南

> 提示:可通过 `ktlint` 或 `detekt` 工具自动检查代码规范。
Last Updated:: 5/21/25, 7:58 PM