garoa / ChuviscoBot

Bot de Telegram para os grupos oficiais do Garoa Hacker Clube
10 stars 6 forks source link

refatorar to_wikicode() e to_html() pois há muito código comum entre as duas implementações #35

Open felipesanches opened 5 years ago

felipesanches commented 5 years ago

Agora que temos testes de código para vários casos desses dois métodos, é relativamente seguro fazer o refactoring sem ter medo de quebrar a implementação.

Essa é uma boa tarefa para quem quiser se familiarizar com o código do bot e com a metodologia de desenvolvimento baseado em testes de código.

Recomenda-se instalar o pytest localmente com pip install pytest e ir rodando a suite de testes ao longo da implementação do refactoring até conseguir fazer todos os testes passarem. Para rodar os testes, recomenda-se usar o comando pytest -x --verbose. A flag -x faz parar no primeiro teste que falhar.

felipesanches commented 5 years ago

Talvez faça sentido pular direto para o uso de expressões regulares (como descrito na issue #15). Mas pode ser mais didático evoluir em duas etapas, primeiro retirando a redundancia de código entre os métodos to_wikicode() e to_html() da classe Evento e só depois partir para o uso de regex. Fica ao critério de quem for tentar fazer.

felipesanches commented 5 years ago

@LucianaMarques, acho que você talvez goste de encarar esse desafio. Não é uma tarefa trivial, porém os testes de código que eu criei recentemente nos dão forte garantia de que implementações incorretas serão detectadas, e os erros provavelmente vão te ajudar a encontrar algum caminho correto para o refactoring.

LucianaMarques commented 5 years ago

@felipesanches sim, gostei da descrição! vou terminar a parte de criar a wiki para testes e começo isso aqui.