Kotlin语言编码规范

编写和命令不能进行按照自己的意愿进行来命令。否则,我们会造成代码的阅读性很差。

代码风格

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

命名风格

如有疑惑,默认为Java编码约定,比如:

--使用骆驼命名法(在命名中避免下划线)
--类型名称首字母大写
--方法和属性首字母小写
--缩进用四个空格
--public 方法要写说明文档,这样它就可以出现在 Kotllin Doc

冒号

在冒号区分类型和父类型中要有空格,在实例和类型之间是没有空格的:

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

Lambdas

在 Lambdas 表达式中,大括号与表达式间要有空格,箭头与参数和函数体间要有空格。尽可能的把 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

如果函数返回 Unit ,返回类型应该省略:

fun foo() { // ": Unit"被省略了
}

函数 vs 属性

在某些情况下,没有参数的函数可以与只读属性互换。尽管语义是相似的,但是有一些风格上的约定在什么时候更偏向于另一个。

在下面的情况下,更偏向于属性而不是一个函数:

– 不需要抛出异常 – 拥有O(1)复杂度 – 低消耗的计算(或首次运行结果会被缓存) – 返回与调用相同的结果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值