En aquest tema, explorarem les millors pràctiques i convencions d'estil de codi en Kotlin. Seguir aquestes convencions no només fa que el teu codi sigui més llegible i mantenible, sinó que també facilita la col·laboració amb altres desenvolupadors.

  1. Nomenclatura

1.1. Variables i Funcions

  • Variables: Utilitza el format camelCase per a les variables.
    val userName = "John Doe"
    var age = 30
    
  • Funcions: També utilitza camelCase per a les funcions.
    fun calculateSum(a: Int, b: Int): Int {
        return a + b
    }
    

1.2. Classes i Objectes

  • Classes i Objectes: Utilitza el format PascalCase per a les classes i objectes.
    class UserProfile(val name: String, val age: Int)
    
    object DatabaseManager {
        fun connect() {
            // Connexió a la base de dades
        }
    }
    

1.3. Constants

  • Constants: Utilitza UPPER_SNAKE_CASE per a les constants.
    const val MAX_USERS = 100
    

  1. Formatació

2.1. Indentació

  • Utilitza 4 espais per a la indentació. No utilitzis tabuladors.
    fun main() {
        val message = "Hello, World!"
        println(message)
    }
    

2.2. Espais en Blanc

  • Deixa una línia en blanc entre funcions i blocs de codi per millorar la llegibilitat.
    fun greetUser(name: String) {
        println("Hello, $name!")
    }
    
    fun main() {
        greetUser("Alice")
    }
    

2.3. Longitud de Línia

  • Mantingues les línies de codi per sota de 100 caràcters sempre que sigui possible.

  1. Estructura del Codi

3.1. Ordre de Declaracions

  • L'ordre recomanat per a les declaracions dins d'una classe és:

    1. Propietats
    2. Constructors
    3. Mètodes públics
    4. Mètodes privats
    class User(val name: String, val age: Int) {
    
        init {
            // Constructor
        }
    
        fun displayInfo() {
            println("Name: $name, Age: $age")
        }
    
        private fun calculateYearOfBirth(): Int {
            return 2023 - age
        }
    }
    

3.2. Ús de Comentaris

  • Utilitza comentaris per explicar el "per què" del codi, no el "què".
    // Calcula l'any de naixement basat en l'edat
    private fun calculateYearOfBirth(): Int {
        return 2023 - age
    }
    

  1. Conventions de Kotlin

4.1. Null Safety

  • Utilitza tipus no nullables sempre que sigui possible.
    var name: String = "John"  // No nullable
    var address: String? = null  // Nullable
    

4.2. Smart Casts

  • Aprofita els smart casts de Kotlin per evitar conversions explícites.
    fun printLength(obj: Any) {
        if (obj is String) {
            println(obj.length)  // Smart cast a String
        }
    }
    

4.3. Expressions When

  • Utilitza when en lloc de múltiples if-else per a una millor llegibilitat.
    fun getColorName(color: Int): String {
        return when (color) {
            1 -> "Red"
            2 -> "Green"
            3 -> "Blue"
            else -> "Unknown"
        }
    }
    

Exercicis Pràctics

Exercici 1: Formatació i Nomenclatura

Revisa el següent codi i corregeix-lo segons les convencions d'estil de Kotlin.

class person(val name: String, val age: Int){
fun displayinfo(){
println("Name: $name, Age: $age")
}
}

Solució:

class Person(val name: String, val age: Int) {
    fun displayInfo() {
        println("Name: $name, Age: $age")
    }
}

Exercici 2: Ús de when

Converteix el següent codi if-else en una expressió when.

fun getDayOfWeek(day: Int): String {
    if (day == 1) {
        return "Monday"
    } else if (day == 2) {
        return "Tuesday"
    } else if (day == 3) {
        return "Wednesday"
    } else if (day == 4) {
        return "Thursday"
    } else if (day == 5) {
        return "Friday"
    } else if (day == 6) {
        return "Saturday"
    } else if (day == 7) {
        return "Sunday"
    } else {
        return "Invalid day"
    }
}

Solució:

fun getDayOfWeek(day: Int): String {
    return when (day) {
        1 -> "Monday"
        2 -> "Tuesday"
        3 -> "Wednesday"
        4 -> "Thursday"
        5 -> "Friday"
        6 -> "Saturday"
        7 -> "Sunday"
        else -> "Invalid day"
    }
}

Conclusió

Seguir les convencions d'estil de codi en Kotlin és essencial per escriure codi net, llegible i mantenible. Aquestes pràctiques no només milloren la qualitat del teu codi, sinó que també faciliten la col·laboració amb altres desenvolupadors. En el proper tema, explorarem tècniques d'optimització del rendiment per assegurar-nos que el nostre codi no només sigui net, sinó també eficient.

© Copyright 2024. Tots els drets reservats