Mostrando postagens com marcador Java. Mostrar todas as postagens
Mostrando postagens com marcador Java. Mostrar todas as postagens

segunda-feira, outubro 22, 2007

Muito cuidado...

... se você começou a programar Ruby vindo do Java. Em Java, new Date() cria um objeto com o valor da data de hoje. Em Ruby, Date.new cria uma data com o valor mínimo (o primeiro dia do calendário Juliano) - para fazer o mesmo use Date.today .

quarta-feira, setembro 19, 2007

Behavior Driven Development

Muita gente fala como testes unitários são importantes, e alguns até dizem que eles deveriam ser escritos antes do código, prática que hoje possui sua própria buzzword: Test Driven Development, ou TDD.

Concordo 100%, mas nunca fui muito bom nisso. Não conseguia pensar com clareza nos testes, e portanto não conseguia escrever testes que valessem a pena rodar. A situação só mudou no projeto onde estou trabalhando agora, que usa uma prática que evoluiu a partir do TDD. A buzzword aqui é Behavior Driven Development, ou BDD.

Basicamente, BDD é uma maneira de escrever testes unitários mais compatível com o processo de pensamento da maioria de nós, reles mortais. Pouca gente consegue pensar nas coisas em termos de testes unitários, mas quase qualquer um consegue descrever como um determinado sistema deveria se comportar. Uma ferramenta de BDD deve permitir ao programador escrever testes de uma forma que se aproxima das frases usadas para descrever o comportamento do sistema.

Uma boa introdução ao BDD, usando Java e a ferramenta JBehave, pode ser encontrado aqui. Para os sortudos (que não precisam usar Java para isso), existe o RSpec, para Ruby. Compare as sintaxes dos dois, apresentadas no link. Se eu fosse obrigado a iniciar um projeto em Java, eu provavelmente escolheria o RSpec rodando em JRuby como ferramenta de testes.

quinta-feira, agosto 09, 2007

Alternativa Livre ao Microsoft Project

O OpenProj é um programa de código aberto escrito em Java e capaz de ler os arquivos do Microsoft Project. Para quem não sabe, o MS Project é um programa de gerenciamento de projetos que tecnicamente faz parte do Office, mas é vendido de forma separada (ou seja, não é parte dos "pacotes padrão" do Office) por uns mil dólares.

O link leva a um artigo que tem um pouco mais de informação sobre ele.

terça-feira, julho 17, 2007

Introdução ao JRuby

Na IBM DeveloperWorks. Perfeito para quem está curioso sobre Ruby ou JRuby mas não sabe por onde começar ( o que significa que talvez eu leia o artigo com mais atenção no futuro),

quarta-feira, julho 11, 2007

Buildr

Eu gosto da idéia por trás do Ant - um sistema para automatizar aquelas tarefas repetitivas que fazem parte to desenvolvimento de qualquer software razoavelmente complexo. O que eu não gosto é ter que mexer em um arquivo XML enorme e ficar digitando tags e atributos a torto e a direito para programar a menor das tarefas nele.

O problema é que, quando o projeto é em Java, não existe nenhuma outra ferramenta do gênero que seja mais integrada à linguagem do que o Ant. Para usar algo mais amigável, você teria que programar sua própria integração entre essa nova ferramenta e a JVM.

Felizmente, alguém já fez isso: o Buildr é uma ferramenta de automação de build específica para projetos Java, mas toda feita em Ruby. Ele usa o Rake como base, e foi feito para substituir o Maven 2.0 (baseado em Ant...) sem que seja necessário nenhuma grande alteração no ambiente de desenvolvimento. Ele possui integração com o ant, de modo que não seria sequer necessário refazer as tasks antigas.

Com ele, é possível criar tasks usando Ruby, o que é muito melhor que tentar se virar com o limitado XML declarativo do Ant.