Learn programming by passing code tests
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
000_novice
.gitignore
LICENSE
README.mkd

README.mkd

Test Driven Learning

Melhore sua capacidade de programação, trabalhando com código e especificações de terceiros, e, especialmente, satisfazendo a testes unitários.

Público alvo

Todo aquele que está começando em uma linguagem e quer resolver alguns exercícios, mas fazendo testes de unidade. Com uma diferença: os testes já estão feitos. Leia os requisitos, implemente e verifique.

Instalação

Clone este repositório em sua máquina:

git clone https://github.com/paulohrpinheiro/test-driven-learning

Melhor ainda de você der um fork desse projeto, se tiver uma conta no GitHub. Aqui tem-se as instruções:

https://help.github.com/articles/fork-a-repo/

Uso

Primeiro, escolha um dos níveis (atualmente só o diretório 000_novice). Então crie uma branch para você. Isso faz parte do exercício:

git checkout -b minhasolucao # *minhasolucao* é uma sugestão de nome

Trabalhe nos arquivos problems.*, execute os testes conforme explicado logo mais abaixo.

Existe uma branch com sugestão de soluções: é a branch solved. Para passar a essa branch, execute o comando:

git checkout solved

Para voltar à branch minhasolucao, onde devem estar seus códigos, digite o comando:

git checkout minhasolucao

Em solved está a minha solução para os problemas, que serve como meus testes para testar os testes. Pode servir de referência, se quiser comparar seu código ou não ter entendido alguma coisa.

Agora você pode começar a trabalhar no diretório da linguagem que você prefere:

  1. Python
  2. Perl
  3. C
  4. Rust
  5. Ruby
  6. JavaScript
  7. GO

Para testar, cada linguagem tem seu comando. Dentro da pasta e branch que você trabalhou, execute o comando específico:

Linguagem comando
Python* python problems.py
Perl perl tests.t
C make test
Rust cargo test
Ruby ruby tests.rb -v
JavaScript d8 problems.js
GO go test -v

* Funciona tanto no Python2 como Python3

Se algum teste falhar, continue trabalhando e testando.

Quer ajudar no projeto?

  1. Clone ele!
  2. Crie uma branch para sua contribuição: git checkout -b minha-contribuissaum
  3. "Comite" suas alterações: git commit -am 'Add some feature'
  4. Faça o pull request 😛

Licença

Licenciado sob a MIT License, veja o arquivo LICENSE.