Kotlin 中有属性排序约定吗?

mus*_*off 0 android coding-style conventions kotlin

对于 Kotlin 中的任何类,我通常都有一堆不同的属性。我想知道这些属性根据其类型的排序是否有任何转换。我使用的基本类型是

  • var fields
  • private var fields
  • lateinit var fields
  • private lateinit var fields
  • 以上所有内容均与val fields
  • lazy fields
  • private lazy fields
  • ETC。

常见的分类是在同一组中声明相同类型的属性。然后我所做的就是尝试先声明公共字段,然后声明私有字段。lazy我想知道,说和的第一个怎么样lateinit?或者之后会发生什么varprivate varlateinit varlazy val

好吧,我知道人们可以随心所欲地写,但我想知道是否有任何约定,根据属性的某些未指定级别列出属性?

Mam*_*rey 7

来自Kotlin 文档

不要按字母顺序或可见性对方法声明进行排序,也不要将常规方法与扩展方法分开。相反,将相关的内容放在一起,以便从上到下阅读课程的人能够遵循正在发生的事情的逻辑。选择一个顺序(要么先选择更高级别的内容,要么反之亦然)并坚持下去。

我认为这个规则也可以应用到属性上。