kotlin-guides
kotlin-guides copied to clipboard
Keywords order
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- OKlateinit private var foo: Foo- WRONG, breaks the relation betweenlateinitandvar, the visibility modifier is kind of optinal (whenpublic)
abstract on functions:
protected abstract fun foo()- OKabstract protected fun foo()- WRONG
open/final on properties and functions:
open protected val foo: Foo- seems better to meprotected open val foo: Foofinal override fun foo()- seems better to meoverride final fun foo()
Do you think such rules might be valuable in the Style Guide?
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.
Me neither, thank you for the link to the discussion. So let's wait for its outcome...
http://kotlinlang.org/docs/reference/coding-conventions.html#modifiers