编码规范
本页包含了 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