Construindo um Projeto de Biblioteca de Classes em C# - Insights da Lição de Tim Corey
Nesta aula, Tim Corey nos guia através do processo prático de criação de uma biblioteca de classes em C#, nos conduzindo do planejamento ao código real. Tim enfatiza que o planejamento é essencial, mas uma vez que o planejamento é concluído, é hora de começar a construir.
Neste artigo, seguiremos a abordagem exata e o raciocínio de Tim, passo a passo, para entender como uma biblioteca de classes é criada, organizada e documentada no Visual Studio.
Iniciando a Biblioteca de Classes no Visual Studio
Tim começa dizendo que eles ficaram presos no modo de planejamento por um tempo, mas agora estão finalmente prontos para codificar. Ele abre o Visual Studio e escolhe "Criar um novo projeto", depois seleciona "Biblioteca de Classes". Tim a nomeia TrackerLibrary e define o nome da solução como TournamentTracker.
A primeira ação de Tim dentro da nova biblioteca é deletar o Class1.cs padrão, explicando que ele não quer nenhum arquivo padrão ou mal nomeado em seu projeto. Ele diz que renomear pode causar problemas, então ele o remove completamente para evitar problemas mais tarde.
Transformando Planejamento em Código — Adicionando Classes
Tim explica que o verdadeiro benefício do planejamento é que uma vez que você está pronto para codificar, você não está adivinhando quais dados você precisa. Em vez disso, você está simplesmente transferindo o design planejado para o código real.
Ele menciona que neste ponto, você não está pensando sobre quais dados são necessários, mas sim verificando nomes, estruturas e se algo está faltando. Tim diz que é por isso que o planejamento acelera significativamente o processo de codificação.
Criando o Modelo de Equipe
Tim adiciona a primeira classe: TeamModel. Ele explica que poderia nomeá-la apenas como Team, mas prefere adicionar Model no final para identificá-la claramente como um modelo de dados.
Ele usa o snippet prop do Visual Studio para gerar propriedades rapidamente. Tim cria as seguintes propriedades:
-
List
MembrosDaEquipe - string NomeDaEquipe
Tim também explica um ponto chave: ele quer que TeamMembers seja inicializado automaticamente para que a lista nunca seja nula. Ele demonstra duas abordagens:
-
Antes do C# 6.0: Use um construtor para inicializar a lista.
-
Desde C# 6.0: Inicialize diretamente na propriedade usando:
public List<PersonModel> MembrosDaEquipe { get; definir; } = new List<PersonModel>();
Tim prefere a abordagem moderna porque simplifica o código.
Criando o Modelo de Pessoa
Em seguida, Tim cria PersonModel. Usando o snippet prop, ele adiciona propriedades rapidamente:
-
string PrimeiroNome
-
string Sobrenome
-
string EnderecoDeEmail
- string NumeroDeCelular
Tim aponta como é rápido construir modelos quando o planejamento já está feito. Ele também nos lembra que o código agora é baseado diretamente no documento de planejamento.
Criando o Modelo de Torneio
Tim adiciona o TournamentModel, que inclui:
-
string NomeDoTorneio
-
decimal TaxaDeEntrada
-
List
EquipesInscritas -
List
Premios - List<List
> Rodadas
Ele destaca como C# entende estruturas de lista complexas como List<List
Adicionando Modelo de Prêmio
Tim adiciona PrizeModel com as seguintes propriedades:
-
int NumeroDoLugar
-
string NomeDoLugar
-
decimal ValorDoPremio
- double PercentualDoPremio
Ele observa que esses valores são deixados com valores padrão por enquanto e podem ser modificados mais tarde, quando necessário.
Criando Modelos de Disputa
Tim adiciona MatchupModel, incluindo:
-
List
Entradas -
TeamModel Vencedor
- int RodadaDoConfronto
Ele também garante que a lista Entries seja inicializada automaticamente, como fez anteriormente.
Então Tim adiciona MatchupEntryModel, que inclui:
-
TeamModel EquipeCompetindo
-
double Pontuação
- MatchupModel ConfrontoPai
Tim enfatiza que esses modelos completam a base da biblioteca de classes.
A Biblioteca de Classes é Simples Uma Vez Planejada
Tim diz que uma vez que o planejamento é feito, construir a biblioteca de classes torna-se muito simples. Ele ressalta que a estrutura da biblioteca é direta porque todo o trabalho de design já foi concluído.
Ele nos lembra que o principal benefício do planejamento é que a codificação se torna rápida e limpa.
Adicionando Comentários XML — Por Que Importa
Tim aponta que o passo final deve ser documentar o código, especialmente usando comentários XML. Ele admite que comentar é tedioso, mas avisa que se você não fizer isso agora, provavelmente não fará isso depois.
Ele mostra como criar comentários XML digitando três barras (///) acima de uma propriedade. Tim demonstra escrever descrições como:
-
"Representa uma equipe no jogo"
-
"Representa a pontuação para esta equipe específica"
- "Representa o jogo do qual esta equipe veio como vencedora"
Tim explica que os comentários XML não são apenas comentários formatados — eles se tornam parte da documentação do código e ajudam outros desenvolvedores a entender suas classes.
Os Comentários XML Melhoram a Usabilidade do Código
Tim demonstra como os comentários XML funcionam com o IntelliSense. Ele cria um construtor e adiciona comentários XML para o parâmetro, mostrando que os comentários aparecem automaticamente no IntelliSense.
Ele compara isso com a descrição embutida do Console.WriteLine() do Visual Studio, que vem da própria documentação XML da Microsoft. Tim explica que usar comentários XML permite que você forneça o mesmo nível de clareza e usabilidade em sua própria biblioteca de classes.
Encerramento Final
Tim encoraja os espectadores a adicionar comentários XML ao resto dos modelos, embora ele não mostre o processo completo devido à sua natureza repetitiva.
Ele conclui ao antecipar a próxima aula: construir formulários. Tim observa que os formulários desenhados durante o planejamento eram esboços simples, e agora é hora de torná-los mais modernos e funcionais.
Conclusão — A Lição de Tim em Resumo
A lição de Tim Corey mostra que criar uma biblioteca de classes em C# é uma questão de traduzir o planejamento em código. Os passos são:
-
Criar o projeto da biblioteca de classes
-
Adicionar modelos com base no planejamento
-
Inicializar listas para evitar nulos
-
Documentar o código com comentários XML
- Preparar-se para construir formulários em seguida
Através do método de Tim, você constrói uma biblioteca de classes limpa e bem estruturada de forma eficiente e profissional, pronta para suportar o restante da sua aplicação.
