logotipo

23 de outubro de 2023

Resenha do livro The C# Player's Guide

C#

Introdução

Hoje vou falar sobre um dos livros mais viciantes e divertidos que já li sobre programação. The C# Player’s Guide. O intuito dele é ensinar sobre a linguagem C# e seu ecossistema usando uma abordagem gamificada estilo RPG.

Cada capítulo apresenta inúmeros desafios, narrativas que aprofundam a história e seus personagens, além de um sistema de xp para cada desafio concluído. E mesmo que seja um livro descontraído, ele apresentar cerca de 90% do que você pode precisar para programar apropriadamente na linguagem e também desenvolve muito a lógica da POO agnóstica à tecnologia.

A maioria das minhas soluções para os desafios estão nesse repositório, com ressalva aos desafios maiores, com um repositório específico.

Apesar de ter vários pontos positivos, o livro sozinho não te prepara para os problemas reais do mercado de trabalho, ainda que esse não é o objetivo do The C# Player’s Guide. Seu objetivo é muito mais sobre aprender a linguagem e o que ela pode te oferecer, que te mostrar problemas baseados no mundo real.

O livro é dividido em 5 partes, cada uma com um objetivo bem específico. O leitor pode escolher entre quais partes ler ou não dependendo da sua bagagem de conhecimento. As partes, em geral, não dependem entre si e podem ser lidas relativamente independentes.

Parte 1: The Basics

A Parte 1 é especialmente importante para quem nunca teve contato com .Net/C# antes. Essa parte foca na programação procedural para ensinar a sintaxe básica, sistema de tipos, comentários, operações matemáticas, controle de fluxo, loops, arrays, métodos, gerenciamento de memória, e outros assuntos mais básicos. O autor recomenda que, se você já conhece a linguagem a ponto de ter criado pequenos projetos ou ao mesmo ter trabalhado com ela antes, você pode pular essa primeira parte. Ainda assim, os demais capítulos serão plenamente compreensíveis.

Parte 2: Object-Oriented Programming

Em seguida, a Parte 2 é dedicada a Programação Orientada a Objetos (POO). Simplesmente o trecho do livro que mais me interessava, pois um dois motivos para eu aprender C# era praticar POO. Aqui é apresentado os conceitos essenciais, enumeração, classes, propriedades, algumas técnicas para fazer o design orientado a objetos, herança, polimorfismo, interfaces, etc. Nesse capítulo há vários desafios mais complexos, comparados aos anteriores, como o Tic-Tac-Toe, Rock-Paper-Scissors, Hangman, The Fountain of Objects, que ajudam a fixar os conceitos apresentados.

Parte 3: Advanced Topics

Tópicos mais avançados são vistos na Parte 3. Aqui temos algumas ideias sobre como lidar com grandes projetos, os métodos são revistos com mais profundidade (valores por referência, argumentos opcionais, parâmetros de output), erros, delegates, pattern matching, threads, query, assincronismo, entre numerosas outras features da linguagem.

É um capítulo bem extenso de informação. É legal usá-lo como um guia em adição à documentação oficial como uma referência mais detalhada.

Parte 4: The End Game

Adiante, na Parte 4, há o último e maior desafio. Temos que derrotar o vilão do jogo - The Uncoded One -, que vêm causando problemas aos personagens da narrativa desde o primeiro capítulo.

Esse último desafio é um jogo de rounds, com diferentes tipos de personagens (aliados e inimigos) que podem coletar armas, armaduras, escolher diferentes ataques, roubar e usar itens consumíveis. Algo bem bacana é que os personagens da história se tornam aliados em batalha. E claro, o último inimigo de todos os rounds é o próprio Uncoded One.

A minha solução para esse desafio está aqui. Honestamente, poderia ser um pouco melhor, mas de qualquer forma, foi crucial para entender como organizar um projeto e aprender POO.

Parte 5: Bonus Levels

Por fim, a Parte 5 é um apêndice para mais informações sobre debug e IDE. É uma parte opcional e bem rápida.

Conclusão

Ler esse livro foi bastante viciante e valeu muito a pena o tempo gasto resolvendo os desafios. Portanto, recomendo a leitura para quem quer aprender POO com a linguagem C# sem a monotonia dos exemplos chatos geralmente usados e com uma abordagem mais simples e divertida. Site oficial do livro.

Voltar para todos os artigos