Fazia tempo que não acontecia. Um marasmo danado, desenvolvendo coisas - quase - toscas. Mas enfim, a calmaria passou e uma coisa bem cabeluda me atasanou (minha mãe usa essa palavras às vezes, não sei se o Aurélio a define) durante uma tarde inteira.
Ela fora quase tão medonha quanto o algoritmo essencial de layout feito no Merlin, lá nos idos de Setembro do ano passado. Pois bem, estou falando de um mapa de cache hierárquico de três níveis.
Sim, programando o Magoo, precisei de uma estrutura dessas, e com objetos tipados para facilitar a vida do desenvolvedor final (e nem vão me pagar uma bira por isso).
A idéia básica da coisa é um método putAndReturn(), que a gente passa uma String com o nome de um sistema da federação (podendo usar a sintaxe CamelCase ou a notação baseada em ponto); o formulário desejado (como um JFrame ou um JDialog - no caso do Swing) e o componente de tela (como um JTextBox, JComboBox, etc.) para o sistema adicionar esse controle dentro da estrutura de mapas. Como retorno, se tem um número inteiro longo que é a sequência do controle, baseada em seu tipo e dependente do sistema, do formulário e o tipo do controle :)
A coisa complica um pouco, porque, caso os mapas estiverem vazios (e estarão nas primeiras chamadas), a estrutura deve se auto-inicializar.
Pra não enrolar mais, vai o screenshot do algoritmo. Foram 4:33h de programação para essas míseras 23 linhas de código. Em outras palavras, quase 12 minutos por linha! Ninguém merece.
Bom, pra finalizar, a graça na coisa: tudo isso depois vira software livre :)
0 comentários:
Postar um comentário