Kotlin 中是否有任何属性排序约定



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

  • var fields
  • private var fields
  • lateinit var fields
  • private lateinit var fields
  • 以上所有内容都带有val fields
  • lazy fields
  • private lazy fields
  • 等。

常见的分类是在同一组中声明相同类型的属性。然后我所做的是尝试先声明公共字段,然后再声明私有字段。我想知道怎么样,首先说lazylateinit的事情怎么样.或者var之后会发生什么? private varlateinit varlazy val

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

来自 Kotlin 文档:

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

我认为这条规则也可以应用于属性。

我遵循Java/C#编程语言等实践:

First public, then protected, then package level (no access modifier), and then private.

https://www.oracle.com/java/technologies/javase/codeconventions-fileorganization.html

Public.
Internal.
Protected internal.
Protected.
Private.

https://google.github.io/styleguide/csharp-style.html

将相关内容放在一起有时对于实践来说更难,尤其是对于现场声明

最新更新