InfoFundos

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.

9 Responses to InfoFundos

  1. Parabéns cara!!! Excelente idéia! Depois manda a URL do mapa de calor!

  2. Jose Peleteiro says:

    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.

  3. @Anselmo, @Peleteiro

    Pois é, a falta do mapa de calor é uma falha grave… vou tentar corrigir isso o mais rápido possível!!! 🙂

  4. Percebí que estou no fundo errado 😀

    Mas… parabéns! Agora vc vai poder mostrar informações sobre o seu fundo para todo mundo!!! 🙂

  5. 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,

  6. @Comandolli,

    Pois é, só não vale sacanear a UX!

  7. Realizou seu sonho heim!
    Exibir seus fundos pro mundo!
    Parabéns hahahaha

  8. 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

  9. @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!

Leave a reply to Anselmo Alves Cancel reply