入门-代码规范
Kotlin官网:Getting Started-Coding Conventions
命名规范
基本原则是有疑问找Java,继续沿袭Java的命名规范
* 驼峰命名,避免下划线
* 类型首字母大写
* 方法和属性首字母小写
* 4空格缩进
* public方法有文档注释
冒号
类和冒号之间有空格,变量和冒号之间无空格
interface Foo<out T : Any> : Bar {
fun foo(a: Int): T
}
Lambda箭头函数
在lambda表达式中,花括号周围有空格,箭头左右有空格。
lambda表达式在括号内。
list.filter { it > 10 }.map { element -> element * 2 }
短且无嵌套的lambda表达式中建议使用默认的“it”变量。
在嵌套lambda中要显式地声明参数名。
类的标题格式
类的构造函数参数很少时可以写在一行中
class Person(id: Int, name: String)
而类的定义很长时:
* 主构造函数的每个参数-类型对单独一行。
* 反括号单独一行,有继承时父类\接口时和反括号一行。
class Person(
id: Int,
name: String,
surname: String
) : Human(id, name) {
// ...
}
如果有多个接口,父类构造函数写在第一个,每个接口单独一行
class Person(
id: Int,
name: String,
surname: String
) : Human(id, name),
KotlinMaker {
// ...
}
构造函数的参数是平齐还是多一个缩进没有特殊要求
Unit(类似Java中的void)
返回值为Unit时省略不写
fun foo() { // ": Unit" is omitted here
}
函数还是属性?
函数和属相有时长差不多,遇到下列情况时使用属性,不用函数
* 无异常抛出
* O(1)复杂度
* 计算量很小或计算结果被缓存
* 每次调用的返回值都相同