如何在Kotlin中惯用格式.apply {}?

时间:2019-06-14 15:32:54

标签: kotlin idioms idiomatic

这似乎有些琐碎,但是由于我们阅读的代码比编写的要多,所以我想知道这些版本中的哪一个对您来说更美观,更易读

private val VALUES by lazy {
    mutableListOf<Value>().apply {
        add(VALUE_1)
        add(VALUE_2)
        add(VALUE_3)
    }
}

OR

private val VALUES by lazy {
    mutableListOf<Value>()
        .apply {
            add(VALUE_1)
            add(VALUE_2)
            add(VALUE_3)
        }
}

换句话说,我们是否应该关心方法(.apply)与调用方在同一行,还是应将结尾大括号与(.apply)方法对齐?

1 个答案:

答案 0 :(得分:0)

按照https://kotlinlang.org/docs/reference/coding-conventions.html

链式呼叫环绕

在包装链接的呼叫时,将.字符或?.运算符放在下一行,并带有一个缩进:

val anchor = owner
    ?.firstChild!!
    .siblings(forward = true)
    .dropWhile { it is PsiComment || it is PsiWhiteSpace }

链中的第一个调用通常应该在其前面有一个换行符,,但是如果代码更有意义,也可以省略它。

由您决定:)