Exercício – Instalar pacotes

Concluído

Os programadores da Tailwind Traders percebem que estão prestes a alocar muitos recursos no desenvolvimento de aplicações para a plataforma .NET. Estas aplicações apresentarão dados legíveis por humanos aos utilizadores, incluindo datas, horas e números.

O .NET tem os recursos para desenvolver esse aplicativo, mas os desenvolvedores têm certeza de que alguém já resolveu esse problema. Precisam de uma arquitetura. Depois de algumas pesquisas, eles encontram o Humanizer no registro do pacote NuGet. Parece ser amplamente utilizado e promete atender a todas as suas necessidades .NET. Especificamente, manipulando e exibindo cadeias de caracteres, enumerações, datas, horas, períodos de tempo, números e quantidades.

Por enquanto, os programadores pretendem que instale o Humanizer, escreva algumas manipulações de dados e execute-as para ver se o Humanizer cumpre as expetativas.

Nota

Este módulo usa a CLI do .NET (interface de linha de comando) e o Visual Studio Code para desenvolvimento local. Depois de concluir este módulo, você pode aplicar os conceitos usando o Visual Studio (Windows) ou continuar o desenvolvimento usando o Visual Studio Code (Windows, Linux e macOS).

Este módulo usa o SDK do .NET 8.0. Certifique-se de ter o .NET 8.0 instalado executando o seguinte comando no seu terminal de comando preferido:

dotnet --list-sdks

Saída semelhante ao exemplo a seguir aparece:

6.0.317 [C:\Program Files\dotnet\sdk]
7.0.401 [C:\Program Files\dotnet\sdk]
8.0.100 [C:\Program Files\dotnet\sdk]

Certifique-se de que uma versão que começa com 8 está listada. Se nenhum estiver listado ou o comando não for encontrado, instale o SDK do .NET 8.0 mais recente.

Criar um projeto .NET de exemplo

Para configurar um projeto .NET para trabalhar com dependências, usamos o Visual Studio Code. O Visual Studio Code inclui um terminal integrado, o que facilita a criação de um novo projeto. Se não quiser utilizar outro editor de código, pode executar os comandos apresentados neste módulo num terminal.

  1. No Visual Studio Code, selecione Ficheiro>Abrir Pasta.

  2. Crie uma nova pasta chamada DotNetDependencies no local de sua escolha e selecione Selecionar pasta.

  3. Abra o terminal integrado no Visual Studio Code ao selecionar Vista>Terminal no menu principal.

  4. Na janela de terminal, copie e cole o seguinte comando:

    dotnet new console -f net8.0
    

    Este comando cria um ficheiro Program.cs na pasta com um programa "Hello World" básico já escrito, juntamente com um ficheiro de projeto C# chamado DotNetDependencies.csproj.

    Agora você deve ter acesso a esses arquivos.

    -| obj
    -| DotNetDependencies.csproj
    -| Program.cs
    
  5. Na janela de terminal, copie e cole o seguinte comando para executar o programa "Hello World".

    dotnet run
    

A janela do terminal exibe "Hello World!" como saída.

Captura de ecrã a mostrar o Visual Studio Code com uma nova aplicação da consola.

Configurar o Visual Studio Code para a depuração do .NET

Abra o Program.cs. Depois de abrir um ficheiro C# no Visual Studio Code pela primeira vez, irá receber um pedido para instalar extensões recomendadas para C#. Selecione o botão Install (Instalar) apresentado no pedido.

Captura de ecrã a mostrar o pedido de extensões recomendadas no Visual Studio Code.

O Visual Studio Code instala a extensão C#. Ele mostra outro prompt para adicionar os ativos necessários para criar e depurar seu projeto. Selecione Yes (Sim).

Captura de ecrã a mostrar o pedido de recursos necessários no Visual Studio Code.

Você pode fechar a guia Extensão: C# para se concentrar no código que está escrevendo.

Adicionar um pacote do NuGet através da ferramenta .NET Core

  1. Abra o Program.cs. Deverá ter o seguinte aspeto:

    Console.WriteLine("Hello, World!");
    

    A função anterior é executada no início do aplicativo e gera uma cadeia de caracteres para o console. Vamos adicionar o Humanizer, manipular dados e escrevê-los na consola.

  2. Instale a biblioteca do Humanizer executando o seguinte comando:

    dotnet add package Humanizer --version 2.7.9
    

    Abra o ficheiro DotNetDependencies.csproj e localize a secção ItemGroup. Deverá agora ter uma entrada com um aspeto semelhante ao seguinte:

    <ItemGroup>
        <PackageReference Include="Humanizer" Version="2.7.9" />
    </ItemGroup>
    
  3. Adicione o seguinte conteúdo na parte superior do arquivo de Program.cs que inicializa o Humanizer:

    using Humanizer;
    

    O seu Program.cs deve agora ter o seguinte aspeto:

    using Humanizer;
    
    Console.WriteLine("Hello, World!");
    
  4. Adicione o seguinte conteúdo ao arquivo Program.cs na parte inferior do arquivo em Console.WriteLine("Hello, World!");:

    static void HumanizeQuantities()
    {
        Console.WriteLine("case".ToQuantity(0));
        Console.WriteLine("case".ToQuantity(1));
        Console.WriteLine("case".ToQuantity(5));
    }
    
    static void HumanizeDates()
    {
        Console.WriteLine(DateTime.UtcNow.AddHours(-24).Humanize());
        Console.WriteLine(DateTime.UtcNow.AddHours(-2).Humanize());
        Console.WriteLine(TimeSpan.FromDays(1).Humanize());
        Console.WriteLine(TimeSpan.FromDays(16).Humanize());
    }
    
  5. Substitua o Console.WriteLine("Hello, World!"); pelo seguinte código:

    Console.WriteLine("Quantities:");
    HumanizeQuantities();
    
    Console.WriteLine("\nDate/Time Manipulation:");
    HumanizeDates();
    
  6. Salve o arquivo (Arquivo>Salvar ou CTRL + S). Execute o aplicativo executando o seguinte comando no terminal:

    dotnet run
    

    Deverá obter o seguinte resultado:

    Quantities:
    0 cases
    1 case
    5 cases
    
    Date/Time Manipulation:
    yesterday
    2 hours ago
    1 day
    2 weeks
    

Parabéns! Você instalou com sucesso o Humanizer como uma dependência e lógica escrita para o código do aplicativo para tornar os dados mais legíveis por humanos. O Humanizer parece cumprir as expetativas e é provável que a Tailwind Traders esteja satisfeita com esta avaliação.