Fork me on GitHub

Keep Learning Conhecimento nunca é o bastante

Me recomende

Posts com a tag Desenvolvimento

Desenvolvedor, arquiteto, programador, engenheiro…

É realmente necessário ter equipes de arquitetura separadas de equipes de desenvolvimento? Essa pergunta é muito antiga e cada um tem uma resposta. Pra mim, não. Mas vamos pensar mais sobre isso.
Em primeiro lugar, o que é um arquiteto de software? É um desenvolvedor com muito conhecimento e experiência (minha resposta)? É um profissional diferente, [...]


Cuidado com o DRY nos seus testes

Don’t Repeat Yourself é um dos princípios de desenvolvimento de software mais “badalados” nos últimos tempos. O problema é que, como tudo que se torna popular, isso acaba sendo abusado. Numa tentativa de criar código limpo é comum criar código difícil de entender. Isso afeta principalmente os testes.
Testes devem ser extremamente legíveis. Não deve existir [...]


Você confia em métricas?

Usar métricas no seu código é uma boa prática. Existem várias ferramentas que provém métricas muito interessantes e ferramentas, como o metric_fu, que integram várias delas.
No entanto, é preciso ter bastante cuidado. Métricas são como muletas: muito úteis quando você não consegue andar sem a ajuda delas mas, se você utilizá-las sem necessidade, vai enfraquecer [...]


Testes envolvendo tempo: usando a gem time-warp

É comum que precisemos “manipular o tempo” quando escrevendo testes para código cujo comportamento depende do momento no tempo.
Uma técnica comum é utilizar um mock ou stub na classe Time do Ruby para manipular o horário de acordo com o desejado. Isso vai contra um princípio importante do uso de fake objects em testes: “Não [...]


Palestras e artigos altamente recomendados

Segue abaixo uma lista concisa de vídeos, artigos e slides que mantenho por perto como referência. Há material técnico e não-técnico e, é claro, não se trata de uma referência completa para desenvolvimento de software.
A intenção é ter algo que possa ser consumido em pouco tempo, resultando numa base sólida para o desenvolvedor profissional (ou [...]


← Anterior