编码规范

本页包含了 Kotlin 语言当前代码风格。

命名风格

如有不确定,默认使用 Java 的编码风格,例如 :

  • 使用驼峰命名法(命名避免使用下划线)
  • 类型名称首字母大写
  • 方法和属性名首字母小写
  • 缩进使用4个空格
  • 公共函数需要写文档,以便在Kotlin Doc中查看

冒号

类型和父类型之间的冒号前需要有空格,实例和类型之间的冒号前不需要空格 :

interface Foo<out T : Any> : Bar {
    fun foo(a: Int): T
}

Lambdas

在 lambda 表达式中,花括号附近需要使用空格,分离函数体中参数和表达式的箭头两侧需要空格,尽可能把表达式写在圆括号外。

list.filter { it > 10 }.map { element -> element * 2 }
}

在简短非嵌套的 lambda 表达式中,通常建议不要显示声明参数,而使用 it 代替。反之,在嵌套的Lambdas表达式中,总是应该显式声明属性。

类头格式化

仅有几个参数的类可以缩写为一行代码 :

class Person(id: Int, name: String)

头很长的类需要进行格式化。每一个主构造器参数单独一行并缩进,右括号也需单独一行。如果我们使用继承,父类构造器的调用或者实现的接口列表应和右括号处于同一行 :

class Person(
    id: Int,
    name: String,
    surname: String
) : Human(id, name) {
    // ...
}

Unit

如果一个函数返回 Unit ,应该被省略 :

fun foo() { // ": Unit" is omitted here

}

函数 vs 属性

某些情况下无参函数和只读属性是可以互换的。尽管语义上相似,但是在具体取舍上还是有格式上的规范的。

底层算法更偏向于属性 :

  • 不会抛出异常
  • O(1) 复杂度
  • 计算廉价 (或者第一次运行时进行缓存)
  • 多次调用返回相同的结果

update at 2017/10/25 有任何疑问,欢迎加群讨论:261386924

results matching ""

    No results matching ""