Junior
Vysvetlite, ako sú v Kotlinu usporiadané balíčky a moduly.
sobes.tech AI
Odpoveď od AI
Balíčky sa používajú na organizáciu kódu, na zabránenie konfliktom mien a na zlepšenie čitateľnosti. Deklarujú sa kľúčovým slovom package na začiatku súboru.
Moduly sú súbory Kotlin, skripty na zostavenie, zdroje a nastavenia projektu. Používajú sa na kompiláciu, spustenie, testovanie a nasadenie. V projektoch IntelliJ IDEA zodpovedá modul IDE modulu; v Gradle — koreňovému alebo podprojektu.
Rozdiely:
- Úroveň organizácie: Balíčky na úrovni zdrojového kódu, moduly na úrovni zostavenia projektu.
- Účel: Balíčky na logické skupinovanie kódu, moduly na správu závislostí, kompiláciu a nasadenie.
- Hierarchia: Balíčky tvoria hierarchiu pomocou bodiek (napríklad
com.example.util), moduly môžu mať hierarchiu (podprojekty v Gradle) alebo byť nezávislé. - Závislosti: Závislosti sa uvádzajú medzi modulmi, nie medzi balíčkami.
Príklad balíčka:
// Súbor: Util.kt
package com.example.util
fun formatName(firstName: String, lastName: String): String {
return "$firstName $lastName"
}
Použitie balíčka:
package com.example.app
import com.example.util.formatName
fun main() {
val fullName = formatName("John", "Doe")
println(fullName)
}
Príklad štruktúry projektu s modulmi (Gradle):
myproject/
├── app/ // Modul aplikácie
│ ├── build.gradle.kts
│ └── src/
│ └── main/kotlin/com/example/app/Main.kt
└── util/ // Utility modul
├── build.gradle.kts
└── src/
└── main/kotlin/com/example/util/Util.kt
V súbore app/build.gradle.kts bude uvedená závislosť od modulu util:
// app/build.gradle.kts
plugins {
kotlin("jvm")
}
dependencies {
implementation(project(":util")) // Závislosť od modulu util
}