Choisir le bon outil
Savoir quand utiliser chacun
Choisir le bon outil est une leçon Kotlin Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kotlin Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kotlin Academy comprend 4 leçons au total.
Choisir une fonction de portée
Avec cinq fonctions de portée disponibles, choisir la bonne revient à répondre à deux questions :
- Comment l’objet est-il référencé :
thisouit? - Que renvoie-t-on : le résultat de la lambda ou l’objet ?
Le tableau de décision
Voici une vue d’ensemble :
letutiliseitet renvoie le résultat de la lambda.runutilisethiset renvoie le résultat de la lambda.withutilisethis(argument) et renvoie le résultat de la lambda.applyutilisethiset renvoie l’objet.alsoutiliseitet renvoie l’objet.
Utiliser let pour gérer la nullité
Lorsque vous avez une valeur nullable et souhaitez agir sur celle-ci uniquement si elle est présente, choisissez let avec un appel sécurisé.
fun main() {
val name: String? = "Ada"
name?.let { println("Hello $it") }
}Utiliser run pour this et un résultat
Lorsque vous souhaitez accéder aux membres avec this et calculer un résultat, utilisez run.
fun main() {
val text = "scope"
val info = text.run { "$this has length $length" }
println(info)
}Utiliser with pour regrouper
Lorsque vous avez un objet non nul et souhaitez effectuer plusieurs opérations sur celui-ci, with se lit naturellement.
fun main() {
val list = listOf(1, 2, 3)
with(list) {
println(sum())
println(size)
}
}Utiliser apply pour configurer
Lorsque vous créez un objet et devez définir plusieurs propriétés, apply garde le code clair et renvoie l’objet.
data class Server(var host: String = "", var port: Int = 0)
fun main() {
val server = Server().apply {
host = "0.0.0.0"
port = 80
}
println(server)
}Utiliser also pour les effets secondaires
Lorsque vous souhaitez journaliser, déboguer ou valider sans modifier l’objet, also avec it est le bon choix.
fun main() {
val nums = listOf(1, 2, 3)
.also { println("Got ${it.size} items") }
println(nums.sum())
}Combiner les fonctions de portée
Dans le code réel, on les enchaîne souvent : configurer avec apply, journaliser avec also, transformer avec let.
data class User(var name: String = "", var score: Int = 0)
fun main() {
val label = User()
.apply { name = "Max"; score = 90 }
.also { println("Created $it") }
.let { "${it.name}: ${it.score}" }
println(label)
}Éviter l’utilisation excessive
Les fonctions de portée peuvent nuire à la lisibilité si elles sont imbriquées ou utilisées à outrance. Si une variable ordinaire et du code explicite sont plus clairs, préférez cette solution. Utilisez les fonctions de portée pour éliminer les répétitions réelles, et non pour faire preuve d’ingéniosité.
Piège de l’imbrication
L’imbrication de fonctions de portée rend it et this ambigus. Si vous devez les imbriquer, renommez le paramètre pour préserver la clarté.
fun main() {
val outer = "A"
outer.let { o ->
"B".let { i ->
println("$o then $i")
}
}
}Un modèle mental rapide
Retenez ceci : les fonctions qui renvoient un objet (apply, also) construisent des chaînes de traitement ; les fonctions qui renvoient un résultat (let, run, with) transforment les valeurs. Choisissez entre it et this selon ce qui améliore la lisibilité.
Vérification rapide
Récapitulatif
Vous disposez désormais d’un cadre de décision : choisissez en fonction de la référence (this ou it) et de la valeur renvoyée (objet ou résultat). let et run transforment, with regroupe, apply configure et also ajoute des effets secondaires. Utilisez-les pour réduire le bruit, et non pour en ajouter.
Questions Fréquemment Posées
La leçon « Choisir le bon outil » est-elle gratuite ?
Oui — le texte complet de « Choisir le bon outil » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kotlin Academy, passe à CoddyKit PRO. Le cours Kotlin Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Choisir le bon outil » ?
Savoir quand utiliser chacun Tu pratiques Kotlin Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Kotlin Academy ?
Aucune expérience préalable n'est requise. Kotlin Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Choisir le bon outil » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Kotlin Academy ?
Oui. Chaque leçon Kotlin Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- let et run
- apply et also
- with
- Choisir le bon outil