📑Yazım Kuralları

🤵 Adlandırmalar

// Test için özel adlandırmalar
class MyTestCase {
     @Test fun `ensure everything works`() { /*...*/ }
     
     @Test fun ensureEverythingWorks_onAndroid() { /*...*/ }
}

// Property
val isEmpty: Boolean get() = size == 0

👮‍♂️ Koşul Kullanımları

when (foo) {
    true -> bar() // good
    false -> { baz() } // bad
    else -> {}
}

// 2 değişken için if öneriliyor
if (x == null) /* ... */ else /* ... */

⛓️ Zincir Kullanımlar

  • 👆 ? başta olur

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

🚄 Keyword Sırası

public / protected / private / internal
expect / actual
final / open / abstract / sealed / const
external
override
lateinit
tailrec
vararg
suspend
inner
enum / annotation
companion
inline
infix
operator
data

📜 Kotlin Doc

// Avoid doing this:

/**
 * Returns the absolute value of the given number.
 * @param number The number to return the absolute value for.
 * @return The absolute value.
 */
fun abs(number: Int) { /*...*/ }

// Do this instead:

/**
 * Returns the absolute value of the given [number].
 */
fun abs(number: Int) { /*...*/ }

🏗️ Function Builder

  • 👮‍♂️ from<Name> adı tercih edilmeli

  • fromPolar

class Point(val x: Double, val y: Double) {
    companion object {
        fun fromPolar(angle: Double, radius: Double) = Point(...)
    }
}

🧐 Kaynaklar

Last updated

© 2024 ~ Yunus Emre Ak ~ yEmreAk