Tic-Tac-Toe (vlab for https://pluga.co/)
Um pequeno projeto para testar minhas habilidades.
Ter instalado localmente (apenas p/ Desenvolvimento e Teste):
$ git clone https://github.com/raulpereira/tic_tac_toe.git
$ cd tic_tac_toe
$ bundle install
$ ruby -ILib bin/console
$ rspec
Os testes precisam ser finalizados para geração de uma Gem pública
😥
Ruby: Foi uma escolha determinada pelo desafio, decidi encarar mesmo tendo pouca domínio com essa linguagem e mais uma vez tive boas surpresas no estudo de caso.
RubyGems: A primeira decisão para organizar o código inicial foi coloca-lo em uma nova Gem, o intuito inicial era apenas usar alguma Gem para testes automáticos, mas depois gostei da idéia de publicar o código numa conta pública, além de forçar a organização inicial.
ANSI Color codes: Para melhorar a interface com o usuário, resolvi adotar cores e criar um simulador para a jogada do computador, porém essa parte especificamente deveria estar mais isolada do código, esta muito misturado com a lógica do jogo, como melhoria da organização, separaria toda interface até para implementar internacionalização ou customizações de cores por parte do usuário.
RSpec: Toda a estrutura criada para as peças e jogadores foi coberta, única entidade que ficou faltando cobrir foi o jogo em si - game.rb
- fator que determinou a não publicação do código em produção no momento.
Apesar de não ter concluído o teste como gostaria, aprendi diversos conceitos que a linguagem proporciona e que não tinha reparado nos projetos Rails que havia desenvolvido anteriormente. Outro ponto positivo deste trabalho foi o primeiro contato com ferramentas de testes automatizados para a linguagem, sem dúvida este foi o tópico que mais dediquei meu tempo e graças a esta dedicação encontrei alguns bugs que iriam passar desapercebido. Continuo feliz no estudo da linguagem, sinal que continuará sendo minha fonte de estudos atual.
VAMOS QUE VAMOS! 💪