O que Swift-Concurrency-Agent-Skill faz?
Melhore assistentes de codificação de IA fornecendo orientação precisa sobre concorrência em Swift, cobrindo async/await, atores, grupos de tarefas e erros comuns de LLM.
Visão Geral
Esta skill fornece conhecimento aprofundado sobre concorrência em Swift, com foco em:
async/awaite tarefas assíncronas- Atores e isolamento de dados
- Grupos de tarefas e concorrência estruturada
- Erros comuns que LLMs cometem ao lidar com concorrência Swift
Exemplos de Uso
// Exemplo: Uso correto de async/await
func fetchData() async throws -> Data {
let url = URL(string: "https://api.example.com/data")!
let (data, _) = try await URLSession.shared.data(from: url)
return data
}
// Exemplo: Uso de ator para proteção de estado
actor Counter {
private var count = 0
func increment() {
count += 1
}
func getCount() -> Int {
return count
}
}
Evitando Erros Comuns de LLM
- Data races: Sempre use atores ou bloqueios quando estado compartilhado é acessado concorrentemente.
- Deadlocks: Evite esperar por tarefas que podem causar bloqueios mútuos.
- Contexto incorreto: Use
@MainActorpara operações que devem ser executadas na thread principal.
Referências
- Documentação oficial do Swift sobre concorrência
- SE-0296: Async/await proposal
- SE-0306: Actors proposal
Contribuição
Sinta-se à vontade para abrir issues ou pull requests no repositório ghostineyt/Swift-Concurrency-Agent-Skill.