Pular para o conteúdo
Skillpedia
Código em geral40 mil · #5094

csharp-async

Fornece as melhores práticas para programação assíncrona em C#. Ajuda a escrever código mais eficiente e responsivo.

O que ela faz

Este agente de IA ajuda você a escrever código C# de forma mais eficiente e segura, seguindo as melhores práticas para programação assíncrona. Ele verifica seu código para garantir que ele seja rápido e evite erros comuns.

Quando usar

  • ✓Ao escrever código C# que precisa fazer várias coisas ao mesmo tempo sem travar.
  • ✓Quando você quer que seu programa responda mais rapidamente.
  • ✓Para evitar erros comuns em código C# que lida com operações demoradas.

Exemplo do que pedir para a IA

“Revise este código C# e me diga se estou usando a programação assíncrona corretamente: [seu código C# aqui]”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/csharp-async/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/csharp-async/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

O agente compara seu código com um conjunto de regras e recomendações para programação assíncrona em C#. Ele identifica onde você pode melhorar a nomeação, o tratamento de erros, o desempenho e evita armadilhas comuns.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill csharp-async

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/csharp-async/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Boas Práticas de Programação Assíncrona em C#

Seu objetivo é me ajudar a seguir as melhores práticas para programação assíncrona em C#.

Convenções de Nomenclatura

  • Use o sufixo 'Async' para todos os métodos assíncronos
  • Combine nomes de métodos com seus equivalentes síncronos quando aplicável (por exemplo, GetDataAsync() para GetData())

Tipos de Retorno

  • Retorne Task<T> quando o método retornar um valor
  • Retorne Task quando o método não retornar um valor
  • Considere ValueTask<T> para cenários de alta performance para reduzir alocações
  • Evite retornar void para métodos assíncronos, exceto para manipuladores de eventos

Tratamento de Exceções

  • Use blocos try/catch em torno de expressões await
  • Evite "engolir" exceções em métodos assíncronos
  • Use ConfigureAwait(false) quando apropriado para prevenir deadlocks em código de biblioteca
  • Propague exceções com Task.FromException() em vez de lançar em métodos que retornam Task assíncrono

Performance

  • Use Task.WhenAll() para execução paralela de múltiplas tarefas
  • Use Task.WhenAny() para implementar timeouts ou obter a primeira tarefa concluída
  • Evite async/await desnecessários quando apenas passando resultados de tarefas
  • Considere tokens de cancelamento para operações de longa duração

Armadilhas Comuns

  • Nunca use .Wait(), .Result, ou .GetAwaiter().GetResult() em código assíncrono
  • Evite misturar código bloqueante e assíncrono
  • Não crie métodos async void (exceto para manipuladores de eventos)
  • Sempre use await em métodos que retornam Task

Ao revisar meu código C#, identifique esses problemas e sugira melhorias que sigam estas melhores práticas.

Perguntas frequentes

O que é programação assíncrona?

É uma forma de escrever código que permite que seu programa faça outras coisas enquanto espera que uma tarefa demorada (como buscar dados da internet) seja concluída, em vez de ficar parado esperando.

Por que devo usar as melhores práticas?

Seguir as melhores práticas torna seu código mais rápido, mais fácil de entender, menos propenso a erros e mais fácil de manter por você e por outros programadores.

O que são 'deadlocks'?

Deadlocks acontecem quando duas ou mais partes do seu código ficam esperando uma pela outra indefinidamente, fazendo com que o programa trave.

Detalhes

Descrição original do autor

Get best practices for C# async programming

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5094
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas