-
命名风格
使用(camelCase)驼峰命名法,避免使用下划线
类型以大写字母开头
方法和属性以小写字母开头
使用四个空格缩进
公共部分应该添加描述,会出现在Kotlin的Doc中
2.冒号的使用
当分隔类型和超类型时,冒号前面应该有一个空格
当分隔实例和类型时,冒号前面没有空格
interface Foo<out T : Any> : Bar {//第一条规则
fun foo(a: Int): T //第二条规则
}
3.Lambda表达式
大括号周围应该使用空格(左边大括号的左右以及右边大括号的左边使用空格)
箭头两侧要使用空格
尽可能的让表达式写在括号之外(即不推荐将表达式作为参数)
list.filter { it > 10 }.map { element -> element * 2 }
4.类定义
类只有少数参数时,可以写成一行
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 {
// ...
}
构造函数参数可以使用常规缩进或连续缩进(双倍的常规缩进)。
5.Unit
如果一个方法的返回值是Unit,那么Unit可以省略不写。
fun foo() { // ": Unit" is omitted here
}
6.方法和属性的选择
在某些情况下,没有参数的函数可能与只读属性可互换通用,虽然语义相似,但是有一些风格约束在某些情况该选择具体的方式,以下情况中,更喜欢使用属性而不是方法
不会抛出异常
具有O(1)的复杂性
容易计算(或者运行一次之后缓存结果)
每次调用返回同样的结果
喜欢的可以关注我的公众号:
每天都会有不同的分享文章
网友评论