12 de fevereiro de 2007

Usar padrões é legal.

Como um bom amante das bases da computação, neste final de semana baixei o código do compilador Java da Sun, para dar aquela fuçada básica na implementação dos caras.

A função do compilador é algo muito simples: ler um arquivo ".java", verificar se tudo o que o arquivo está "falando" é correto, em caso afirmativo gerar o ".class" que será executado futuramente pela JVM. Apesar do objetivo simples, tem muita coisa para se divertir no desenvolvimento de um compilador, mas deixo esta parte divertida para um futuro tutorial "Eu quero o meu compilador".

Neste post, gostaria de destacar o quanto é legal usar padrões de projeto. Bastou algum tempinho fuçando o código, para entender o funcionamento do compilador. Porquê ? Malditos patterns espalhados pelo código, ajudaram a comunicar pelo que cada classe era responsável, aliás, este é um dos principais objetivos dos patterns na minha opinião, agilizar a comunicação entre desenvolvedores.

Outra coisa que me deixou muito feliz, é que a estrutura do compilador é muito parecida com que eu usei no SnailDB, inclusive com os mesmos tipos de padrões, principalmente Visitor. Ou seja, desenvolvedores do javac também entenderão tranqüilamente o meu código.

Use padrões, é legal !!!

2 comentários:

Anônimo disse...

O Visitor foi o padrão que mais demorei pra entender, mas quando consegui montar meu próprio exemplo e o vi funcionando pensei: "Mágica!".

Concordo com o que disse e digo ainda que Design Pattern é mais documentação pra software do que qualquer outro meio inventado, incluindo UML.

Unknown disse...

Realmente o Visitor é muito aplicado em árvores sintáticas, estrutura básica em compiladores.

Ao invés de você ir inchando a estrutura com um monte métodos (ações) que você deseja, implemente o Visitor. Novas funcionalidades poderão ser adicionadas a sua árvore, sem precisar inserir novos métodos na mesma.