Bem, anteontem resolvi que vou dar mais enfase ao desenvolvimento TDD. Essa minha pequena decisão tem por meta assegurar maior qualidade nos meus softwares e menores dores de cabeça num futuro próximo =D.
A decisão de passar a desenvolver sempre pensando no TDD não veio por acaso. Eu gosto muito de criar aplicativos, deixar eles encostados, e depois voltar e dar um gás neles. Essa minha prática me fez perceber algumas características de manutenabilidade e de qualidade que eu preciso sempre atentar. Entre elas, o fato de que eu não estava criando testes nesses meus aplicativos pessoais, e quando eu voltava e adicionava ou modificava alguma assinatura, eu acabava quebrando alguma coisa. Não que tenha sido difícil rastrear quaisquer dos erros, mesmo sem debug, mas mesmo assim, era algo que estava me fazendo falta.
Em uma rápida busca, achei no blog do marinho essa ótima postagem sobre o tema. Só vi a introdução ainda, por falta de tempo, entretanto, pretendo lê-la com muito carinho esses dias. Para quem não sabe, TDD significa Test DrivenDevelopment, ou, em português, programação orientada a testes, que é uma forma de se desenvolver onde se escreve o teste de uma funcionalidade antes de escrever a mesma. Essa abordagem tem vantagens visíveis, como citado no artigo do Marinho, principalmente no que diz respeito a qualidade de código, onde você sempre pode garantir um certo comportamento do seu código baseado nos testes dele.
De qualquer maneira, ainda no escopo de manutenção, revisão e atualização de aplicativos, acabei achando esse ótimo programa que me permite checar alguns aspectos do meu código, como erros, importações nunca utilizadas e má formatação. O nome o bixin é o pyflakes. Mesmo havendo opções mais completas, como o pylint ou pychecker, o que me atraiu no pyflakes foi a sua simplicidade. Ando utilizando ele com frequência e aconselho a todos que queiram dar uma "limpada" em seu código antes de colocá-lo em produção.
Para finalizar, como não poderia deixar de ser, gostaria de informar aos djangonautas de plantão que a versão 1.1 do framework já está disponível. Houve algumas mudanças de compatibilidade entre as versões 1.0 e 1.1, entretanto, a maioria das pessoas não terá problemas. Eu, pelo menos, fiz a migração do meu aplicativo sem mudar uma linha de código sequer. = D
No mais, é isso. Usem o pyflakes, usem o django, usem o python e codifiquem usando TDD ; )
Cearense (não achei seu nome no blog), uma dúvida.
ResponderExcluirVocê usa alguma IDE com pyflakes integrado? Afinal, como é seu ambiente de desenvolvimento?
Este comentário foi removido pelo autor.
ResponderExcluirUsa com o vi/vim/gvim. É mto útil e ágil esse plugin.
ResponderExcluir