kotlin-guides icon indicating copy to clipboard operation
kotlin-guides copied to clipboard

Keywords order

Open xsveda opened this issue 7 years ago • 3 comments
trafficstars

Properties and functions may often have more keywords which order is not strictly ordered in Kotlin but may be confusing. Few examples:

lateinit on properties:

  • private lateinit var foo: Foo - OK
  • lateinit private var foo: Foo - WRONG, breaks the relation between lateinit and var, the visibility modifier is kind of optinal (when public)

abstract on functions:

  • protected abstract fun foo() - OK
  • abstract protected fun foo() - WRONG

open/final on properties and functions:

  • open protected val foo: Foo - seems better to me
  • protected open val foo: Foo
  • final override fun foo() - seems better to me
  • override final fun foo()

Do you think such rules might be valuable in the Style Guide?

xsveda avatar Dec 06 '17 07:12 xsveda

I do, but it's not our place to decide what that order is. Has JetBrains officially defined this yet? I know there's been discussion about it but I haven't seen anything final.

JakeWharton avatar Dec 06 '17 20:12 JakeWharton

Me neither, thank you for the link to the discussion. So let's wait for its outcome...

xsveda avatar Dec 07 '17 07:12 xsveda

http://kotlinlang.org/docs/reference/coding-conventions.html#modifiers

JakeWharton avatar Dec 29 '17 17:12 JakeWharton