Habilidades kotlin-coroutines-expert
📦

kotlin-coroutines-expert

Seguro

Meistern Sie Kotlin Coroutines & Flow

Kotlin Coroutines und Flow können komplex zu meistern sein. Diese Skill bietet Expertenwissen für strukturierte Concurrency, Fehlerbehandlung und das Testen von asynchronem Code.

Soporta: Claude Codex Code(CC)
📊 70 Adecuado
1

Descargar el ZIP de la skill

2

Subir en Claude

Ve a Configuración → Capacidades → Skills → Subir skill

3

Activa y empieza a usar

Pruébalo

Usando "kotlin-coroutines-expert". Wie führe ich zwei API-Aufrufe parallel aus und behandle Fehler unabhängig?

Resultado esperado:

Verwenden Sie supervisorScope, um asynchrone Tasks auszuführen, bei denen ein Fehler eines nicht die anderen abbricht. Beispiel: val task1 = async { api.fetchA() }; val task2 = async { api.fetchB() }; Beide können unabhängig voneinander fehlschlagen, ohne sich gegenseitig zu beeinflussen.

Usando "kotlin-coroutines-expert". Wann sollte ich StateFlow vs SharedFlow verwenden?

Resultado esperado:

Verwenden Sie StateFlow für UI-Zustände, die beibehalten werden müssen und immer einen aktuellen Wert haben. Verwenden Sie SharedFlow für einmalige Ereignisse wie Navigation oder das Anzeigen von Toast-Nachrichten.

Auditoría de seguridad

Seguro
v1 • 2/25/2026

Static analysis flagged 26 potential issues (24 external_commands, 2 weak cryptographic). Manual review confirms all are FALSE POSITIVES. The 'external_commands' detections are markdown backtick formatting (e.g., `coroutineScope`) not shell execution. The 'weak cryptographic' detections are misidentified content. This is a legitimate Kotlin Coroutines documentation skill with no security risks.

1
Archivos escaneados
101
Líneas analizadas
0
hallazgos
1
Auditorías totales
No se encontraron problemas de seguridad
Auditado por: claude

Puntuación de calidad

38
Arquitectura
100
Mantenibilidad
85
Contenido
32
Comunidad
100
Seguridad
83
Cumplimiento de la especificación

Lo que puedes crear

Backend-Entwickler

Asynchrone API-Aufrufe und paralleles Datenfetching in Kotlin-Microservices implementieren

Android-Entwickler

Asynchrone UI-Updates und reaktive Datenströme in Android-Apps handhaben

Code-Reviewer

Coroutine-Code auf korrekte Fehlerbehandlung und strukturierte Concurrency-Patterns prüfen

Prueba estos prompts

Grundlegendes Coroutine-Setup
Zeigen Sie mir, wie ich ein CoroutineScope für parallele API-Aufrufe in Kotlin einrichte
Flow-Fehlerbehandlung
Wie behandle ich Fehler in einer Kotlin Flow-Pipeline?
Coroutine-Testing
Schreiben Sie einen Unit-Test für eine suspendierende Funktion mit TestScope
Cancellation-Behandlung
Erklären Sie, wie man Coroutine-Cancellation richtig handhabt, ohne CancellationException zu fangen

Mejores prácticas

  • Verwenden Sie immer Dispatchers.IO für blockierende I/O-Operationen, um den Main-Thread nicht zu blockieren
  • Brechen Sie Coroutine-Scopes ab, wenn sie nicht mehr benötigt werden (z. B. in ViewModel.onCleared)
  • Verwenden Sie TestScope und runTest für deterministisches Coroutine-Testing mit virtueller Zeit

Evitar

  • Vermeiden Sie GlobalScope - es bricht strukturierte Concurrency und kann zu Memory Leaks führen
  • Fangen Sie CancellationException nicht ab, es sei denn, Sie werfen sie erneut - dies bricht kooperative Cancellation
  • Vermeiden Sie die Verwendung von suspendCoroutine oder suspendCancellableCoroutine, wenn Higher-Level-APIs ausreichen

Preguntas frecuentes

Was ist strukturierte Concurrency in Kotlin?
Strukturierte Concurrency stellt sicher, dass Coroutines an einen Lifecycle-Scope gebunden sind. Wenn der Scope abbricht, werden alle Kind-Coroutines abgebrochen, was Leaks verhindert.
Wann sollte ich supervisorScope vs coroutineScope verwenden?
Verwenden Sie coroutineScope, wenn Sie möchten, dass jeder Fehler alle Kinder abbricht. Verwenden Sie supervisorScope, wenn Sie möchten, dass Kinder unabhängig voneinander fehlschlagen können, ohne Geschwister zu beeinflussen.
Wie teste ich Coroutines?
Verwenden Sie TestScope und runTest aus kotlinx.coroutines.test. Injizieren Sie TestDispatcher, um virtuelle Zeit für deterministisches Testing zu steuern.
Was ist der Unterschied zwischen Flow und StateFlow?
Flow ist cold - es produziert Werte nur beim Collecten. StateFlow ist hot - es behält einen aktuellen Wert und emittiert an alle Collector.
Wie behandle ich Exceptions in Flow?
Verwenden Sie den catch-Operator am Ende der Pipeline oder try-catch im Flow-Builder. Für Wiederholungen verwenden Sie retry oder retryWhen-Operatoren.
Was sind häufige Ursachen für Coroutine-Memory-Leaks?
Verwendung von GlobalScope, Nicht-Abbrechen von Scopes nach Fertigstellung, falsches Capturing von Context oder Halten von Referenzen auf Actors, die nie abgeschlossen werden.

Detalles del desarrollador

Estructura de archivos

📄 SKILL.md