Domine C# 13: Global Using para Código Limpo e Eficiente

Neste tutorial, vamos explorar como o C# 13O que é C# 13 e por que aprender em 90 minutosO que é C# 13 e por que aprender em 90 minutosExplore as inovações do C# 13 e melhore a legibilidade do seu código. Este tutorial prático de 90 minutos oferece dicas essenciais para desenvolvedores .NET. trouxe melhorias no uso de diretivas de importação, especialmente com a funcionalidade de global using. Essa abordagem permite centralizar e padronizar importações de namespacesIntrodução aos principais namespaces e bibliotecas padrãoIntrodução aos principais namespaces e bibliotecas padrãoExplore um tutorial prático sobre C# 13, descobrindo os namespaces e bibliotecas da BCL. Melhore a performance e legibilidade do seu código., reduzindo duplicação de código e melhorando a legibilidade das suas classesBoas práticas de performance e memória para jogos em C# 13Boas práticas de performance e memória para jogos em C# 13Descubra técnicas para otimizar desempenho e uso de memória em jogos com C# 13, utilizando structs, pooling e melhores práticas do GC. e métodos.

Entendendo o Conceito de global using🔗

Em versões anteriores do C#, já era possível utilizar as diretivas using no topo de cada arquivo para facilitar o acesso a determinados namespacesIntrodução aos principais namespaces e bibliotecas padrãoIntrodução aos principais namespaces e bibliotecas padrãoExplore um tutorial prático sobre C# 13, descobrindo os namespaces e bibliotecas da BCL. Melhore a performance e legibilidade do seu código.. Com a introdução do global using, você obtém uma forma de declaração _única_ que vale para todo o projeto ou para múltiplos arquivos simultaneamente. Na prática, se antes era necessário repetidamente escrever:

using System;
using System.Collections.Generic;
namespace MeuProjeto
{
    public class MinhaClasse
    {
        // ...
    }
}

Agora, é possível centralizar essas importações em um único arquivo .cs que contenha:

global using System;
global using System.Collections.Generic;

Assim, qualquer arquivo do projeto poderá usar Console.WriteLine(...), List<T>, entre outros elementos desses namespacesIntrodução aos principais namespaces e bibliotecas padrãoIntrodução aos principais namespaces e bibliotecas padrãoExplore um tutorial prático sobre C# 13, descobrindo os namespaces e bibliotecas da BCL. Melhore a performance e legibilidade do seu código., sem a necessidade de repetir using.

Vantagens de Usar global using🔗

1. Redução de repetição: Em projetos grandes, um mesmo conjunto de namespacesIntrodução aos principais namespaces e bibliotecas padrãoIntrodução aos principais namespaces e bibliotecas padrãoExplore um tutorial prático sobre C# 13, descobrindo os namespaces e bibliotecas da BCL. Melhore a performance e legibilidade do seu código. costuma ser incluído em dezenas de arquivos. Agrupar essas importações em um local único poupa esforço e torna o código mais conciso.

2. Fácil manutenção: Para adicionar ou remover uma dependênciaGenética do vício: por que algumas pessoas ficam viciadas mais facilmente?Genética do vício: por que algumas pessoas ficam viciadas mais facilmente?Descubra como a genética pode influenciar o vício e entenda como fatores biológicos e ambientais se combinam na dependência. de namespace comum, basta editar esse arquivo contendo global using, propagando a mudança para todo o projeto.

3. Padronização: Ao utilizar global using de maneira consistente, cada desenvolvedor do time segue a mesma estrutura de importação, o que aumenta a legibilidade e reduz riscos de conflito.

4. Melhoria na organização: As declarações de global using podem ficar separadas em pastas e projetos específicos (por exemplo, Domain, Application, Infrastructure), trazendo clareza às dependências de cada camada.

Configurando e Estruturando Seus global using🔗

Você pode criar um arquivo chamado, por exemplo, GlobalUsings.cs na raiz do seu projeto. Dentro dele, basta relacionar todos os namespacesIntrodução aos principais namespaces e bibliotecas padrãoIntrodução aos principais namespaces e bibliotecas padrãoExplore um tutorial prático sobre C# 13, descobrindo os namespaces e bibliotecas da BCL. Melhore a performance e legibilidade do seu código. mais usados. Exemplo:

// GlobalUsings.cs
global using System;
global using System.Collections.Generic;
global using System.Linq;
global using System.Threading.Tasks;

Em seguida, recomenda-se organizar suas importações da seguinte forma:

Dica: mantenha tudo alinhado ao estilo do seu time e seguindo convenções. Isso reforça a manutenção e compreensão do código.

Novidades Simplificadas no C# 13🔗

No C# 13O que é C# 13 e por que aprender em 90 minutosO que é C# 13 e por que aprender em 90 minutosExplore as inovações do C# 13 e melhore a legibilidade do seu código. Este tutorial prático de 90 minutos oferece dicas essenciais para desenvolvedores .NET., algumas melhorias no tratamento de importações e na forma como o compilador RoslynEntendendo o compilador Roslyn no C# 13Entendendo o compilador Roslyn no C# 13Descubra como o compilador Roslyn transforma o desenvolvimento em C# 13, oferecendo transparência, performance e extensibilidade para um código intuitivo. lida com global using tornam o uso desse recurso ainda mais interessante:

1. Integração com arquivos de projeto: Agora, é mais simples integrar no arquivo .csproj a ativação das ferramentas de _implicit using_, combinando com o _global using_ para suprimir ainda mais código redundante.

2. Ordens de resolução de conflito: Se houver nomes de classes, métodos ou variáveis que resultem em conflito entre namespacesIntrodução aos principais namespaces e bibliotecas padrãoIntrodução aos principais namespaces e bibliotecas padrãoExplore um tutorial prático sobre C# 13, descobrindo os namespaces e bibliotecas da BCL. Melhore a performance e legibilidade do seu código., o compilador oferece diagnósticos mais precisos. Assim, evita-se surpresas ao misturar importações globais e pontuais.

3. Aperfeiçoamentos na análise de referências: De forma nativa, o VS e o RoslynEntendendo o compilador Roslyn no C# 13Entendendo o compilador Roslyn no C# 13Descubra como o compilador Roslyn transforma o desenvolvimento em C# 13, oferecendo transparência, performance e extensibilidade para um código intuitivo. fornecem sugestões de limpeza das diretivas de using que se tornaram desnecessárias quando se adota global using.

Exemplo Prático🔗

Considere um projeto de console que faz uso recorrente de funcionalidades básicas:

// Program.cs
public class Program
{
    public static void Main()
    {
        var lista = new List<string>();
        lista.Add("Item 1");
        Console.WriteLine($"Total de itens: {lista.Count}");
    }
}

Antes do C# 13O que é C# 13 e por que aprender em 90 minutosO que é C# 13 e por que aprender em 90 minutosExplore as inovações do C# 13 e melhore a legibilidade do seu código. Este tutorial prático de 90 minutos oferece dicas essenciais para desenvolvedores .NET., sem global using, você precisaria das diretivas using no topo de cada arquivo:

using System;
using System.Collections.Generic;

Com global using em um arquivo chamado GlobalUsings.cs:

global using System;
global using System.Collections.Generic;

Agora, Program.cs fica mais limpo:

public class Program
{
    public static void Main()
    {
        var lista = new List<string>();
        lista.Add("Item 1");
        Console.WriteLine($"Total de itens: {lista.Count}");
    }
}

Boas Práticas e Recomendações🔗

Boas PráticasMotivação
Agrupar global using em um único arquivo ou poucos arquivosFacilita a busca, manutenção e padronização das importações em todo o projeto.
Separar importações por tipo (nativo, terceiros, internos)Melhora a organização e a namespace hygiene, mantendo coerência entre as camadas do projeto.
Revisar periodicamente suas global usingsEvita inflar o projeto com namespaces não utilizados, poupando tempo de compilação e evitando confusões.
Priorizar o uso de implicit using nas configurações do .csprojPermite ao projeto já trazer algumas importações automáticas, reduzindo a necessidade de importações extras.
Observação: fique atento a possíveis conflitos de nome de classes quando diversos namespaces são declarados como _global_. Em certos casos, ainda será preciso usar using NomeCorreto = Namespace.Detalhado; ou referenciar o _namespace_ por completo.

Conclusão🔗

Os aprimoramentos de global using e importações simplificadas no C# 13O que é C# 13 e por que aprender em 90 minutosO que é C# 13 e por que aprender em 90 minutosExplore as inovações do C# 13 e melhore a legibilidade do seu código. Este tutorial prático de 90 minutos oferece dicas essenciais para desenvolvedores .NET. oferecem mais legibilidade, produtividade e padronização. Ao concentrar importações comuns em um único arquivo e aproveitar as novas melhorias do compilador, o código se torna mais limpo e focado na lógica de negócio, em vez de repetições de using a cada novo arquivo.

Revisite suas configurações de projeto, crie um arquivo GlobalUsings.cs e vá ajustando suas dependências. Desse modo, você garante que toda a equipe se beneficie da padronização e das novidades que o C# 13O que é C# 13 e por que aprender em 90 minutosO que é C# 13 e por que aprender em 90 minutosExplore as inovações do C# 13 e melhore a legibilidade do seu código. Este tutorial prático de 90 minutos oferece dicas essenciais para desenvolvedores .NET. proporciona.

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados