Está no ar o InfoFundos, um site onde é possível acompanhar as rentabilidades de todos os fundos de investimento do mercado financeiro brasileiro. Mas este post não é sobre o site em si, e sim sobre o seu desenvolvimento.
O site é um projeto pessoal desenvolvido por mim com ruby e rails. O legal deste tipo de trabalho solo é a possibilidade de experimentar ideias, práticas, técnicas, etc.
Como não poderia deixar de ser, o desenvolvimento seguiu – e continua seguindo – os princípios e valores dos métodos ágeis. Ou seja, o site está sendo desenvolvido de forma incremental e evolutiva. A ideia é ir colhendo feedback para evoluir continuamente. Cada funcionalidade é desenvolvida da forma mais simples que poderia funcionar (simplest thing that could possibly work), com refactoring constante para deixar o código o mais limpo possível.
Uma técnica que pude usar desde o início e que ajuda a garantir a aplicação dos princípios e valores acima é o desenvolvimento outside-in sugerido pelo BDD. Cada funcionalidade é descrita por uma feature do cucumber guiada por selenium. Um passo dessa feature é escrito e, obviamente, ele falha. Então é preciso escrever apenas código suficiente para fazer este passo passar. Para isso, escrevo um spec com rspec e depois apenas o código necessário para este spec passar. Continuo assim sucessivamente, escrevendo specs e código, de fora para dentro, ou seja, das camadas mais externas até as mais internas, até que o passo esteja passando. Então, repito o ciclo continuando com o próximo passo até que toda a feature esteja passando. O ciclo completo seria algo mais ou menos assim:
feature > step > spec > implementação para spec passar > repete spec e implementação até step passar > repete step até feature passar
No final, tenho uma funcionalidade totalmente coberta por testes de aceitação com cucumber/selenium e com 100% de cobertura com rspec. Isso ajuda a garantir um código limpo, podendo ser refatorado e evoluído com bastante segurança.
Tenho diversas ideias de funcionalidades futuras para o InfoFundos e, certamente, qualquer assunto relacionado ao seu desenvolvimento será postado aqui.
Parabéns cara!!! Excelente idéia! Depois manda a URL do mapa de calor!
Achei o site muito bom. Só que ainda falta o mapa de calor. Foi um absurdo você ter colocado o site no ar sem o mapa de calor. Vou entrar em contato com o seu hosting.
@Anselmo, @Peleteiro
Pois é, a falta do mapa de calor é uma falha grave… vou tentar corrigir isso o mais rápido possível!!! 🙂
Percebí que estou no fundo errado 😀
Mas… parabéns! Agora vc vai poder mostrar informações sobre o seu fundo para todo mundo!!! 🙂
Assim começam grandes projetos. Parabéns rapaiz!
Ah, ja bota aí no backlog pra galera de UX aqui deixar ele mais bacana hehehe
Abs,
@Comandolli,
Pois é, só não vale sacanear a UX!
Realizou seu sonho heim!
Exibir seus fundos pro mundo!
Parabéns hahahaha
Olá. Ficou bem legal. Me restou uma dúvida …
Você pega esses dados do site da bovespa? Se sim, tome cuidado pois vai contra o Copyright deles – http://www.bovespa.com.br/Home/copy.htm
Abraço
@Emerson
Não é da Bovespa que eu pego os dados não. Tb tenho essa preocupação de não infringir o copyright de ninguém.
Mas valeu pelo aviso!