Kotlin学习笔记1-3 入门-代码规范

来源:互联网 发布:淘宝vip专享 编辑:程序博客网 时间:2024/06/05 19:55

入门-代码规范

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)复杂度
* 计算量很小或计算结果被缓存
* 每次调用的返回值都相同