Seja poliglota

July 31, 2010

Eu já li em alguns lugares que aprender um novo idioma faz bem para a nossa saúde mental. E aprender uma nova linguagem de programação também pode ser benéfico para a carreira profissional. A idéia é que linguagens diferentes te obrigam a pensar de formas diferentes para resolver o mesmo problema, ou seja, isso evita [...]

6

Minhas impressões sobre TDD

July 4, 2010
Tags:

Como diz o ditado: Antes tarde do que nunca. O Test-Driven Development (Desenvolvimento orientado a testes) já existe há uns bons anos e eu só lia a respeito sem nunca ter colocado em prática. Após participar do Agile Brazil 2010 e ter assistido a algumas palestras sobre o tema, decidi começar a aplicar essa técnica [...]

2

Campanha anti-if

June 18, 2010

A campanha anti-if visa eliminar o uso inadequado da instrução IF. Pode parecer bizarro a princípio, mas se pararmos para pensar a respeito vemos que faz sentido. Vejamos um exemplo retirado do site da campanha. Primeiro, com if: /* Exemplo em Java */ // Bond class double calculateValue() { if(_type == BTP) { return calculateBTPValue(); [...]

4

Boas práticas sobre exceções

June 13, 2010

O suporte a exceções se tornou comum nas linguagens de programação modernas. Este mecanismo permite tratar erros e situações inesperadas de forma muito elegante. Sem esse recurso, as funções sinalizavam erros através do seu retorno ou pelo uso de alguma variável global, era mais ou menos assim: const ERRO_DIVISAO_POR_ZERO = 0; function Dividir(Dividendo, Divisor: Integer): [...]

0

Exemplo real de script de build para Delphi

June 6, 2010

No último post da série sobre integração contínua com Hudson e Delphi, mostrei como criar um script para automatizar o build de projetos Delphi. Aqui vou mostrar um exemplo real, que utilizo para compilar meus componentes. @echo off call “%D2010_ROOT%\bin\rsvars.bat” echo ****************************** echo *** Compilando componentes *** echo ****************************** msbuild Src\Componentes.dproj /p:config=Release if %ERRORLEVEL% neq [...]

2

Integração contínua com Hudson e Delphi – Parte III

June 4, 2010

Finalmente chegamos na terceira – e última – parte da série “Integração contínua com Hudson e Delphi”. Agora que já temos algum conhecimento básico do assunto e as ferramentas necessárias já estão instaladas, podemos finalmente colocar tudo em funcionamento. Para poupar tempo, eu criei um projeto em Delphi sobre o qual poderemos trabalhar. Eu fiz [...]

5

Quais são as suas prioridades como desenvolvedor?

May 23, 2010

Quando você está codificando, quais são os fatores que você leva em consideração para decidir como implementar uma determinada situação? Vamos clarear mais. Considere os seguintes pontos: Legibilidade Performance / Consumo de memória Manutenabilidade (em outras palavras: O quão fácil ou difícil será dar manutenção naquele código futuramente) Tempo de desenvolvimento Quantidade de código Peço [...]

2

Integração contínua com Hudson e Delphi – Parte II

May 20, 2010

Na primeira parte desta série, apresentei o conceito de integração contínua, mas me mantive apenas na teoria. Agora vamos preparar o terreno para colocarmos a idéia em prática instalando as ferramentas necessárias. Em primeiro lugar, precisamos de um tipo de software conhecido como servidor de integração contínua. Eu utilizo o Hudson, um servidor escrito em [...]

1

Integração contínua com Hudson e Delphi – Parte I

May 13, 2010

Após algum tempo ausente por falta de tempo, estou de volta com o blog. Para marcar o retorno, estou abrindo uma série de artigos na qual pretendo falar de uma prática chamada Integração Contínua. Inicialmente explicando o que é, seus benefícios, e por fim como utiliza-la na prática através de ferramentas como Subversion, Delphi, DUnit [...]

6

Singleton: Lobo em pele de cordeiro, ou um pattern injustiçado?

March 20, 2010

Singleton é um design pattern (ou um anti-pattern, para alguns) que determina que só deve haver uma instancia de uma determinada classe em todo o sistema. Há bastante controvérsia a respeito deste padrão, uns alegam que trata-se de um anti-pattern, isto é, algo que deve ser evitado. Enquanto os design-patterns são maneiras conhecidas e elegantes [...]

3