domingo, 10 de agosto de 2008

O princípio da caixa preta

Caixa Preta: O segundo principal objetivo que devemos buscar ao construir sub-rotinas é o comportamento de uma caixa preta. O mundo externo a caixa preta não conhece o que existe dentro dela, não sabe como ela realiza uma determinada tarefa. O mundo externo sabe apenas o que ela é capaz de fazer. Logo, considerando esse raciocínio é correto afirmar que: Uma sub-rotina deve ser como uma Caixa Preta, onde entram dados que serão processados (veja seobre parâmetros em) objetivando a obtenção de um valor de retorno específico, o qual atenderá alguma demanda do usuário.


A síndrome da fobia da Caixa Preta

Existe um tipo de profissional de TI que não se constrange em demonstrar seu incômodo quando estão trabalhando em programas muito modularizados. Eles reclamam do fato da falta de visibilidade quando uma rotina chama outra sub-rotina, ou várias. Será que ele não sabe que o objetivo é justamente esse? Algumas vezes não resisti e perguntei: Qual o problema no fato de determinada tarefa estar sendo realizada por uma dun-rotina, sedo que para ver o que ela faz basta debuggar fazendo um trace? A resposta em todas as vezes foi: “Não tenho certeza sobre o que a sub-rotina faz ...” . Para mim, fica parecendo que no fundo eles tem medo da caixa preta ... hehehheh. E conhecido que o ser humano teme o desconhecido, mas espera um pouco, amigo!?!?!??! Fala sério! Vc ta com medinho da caixa preta 02?
Esses programadores são conhecidos como “Jaspion”. Porque, no menor sinal de dificuldade apelam pro gigante guerreiro
Daileon sem o menor pudor. Seus códigos são verdadeiros gigantes muilti-funcionais. A rotina do cara faz de tudo, se bobear até serve cafezinho. Cruz credo! Eu já vi um Jaspion legitimo justificar-se que tinha ficado grande pois os trechos passiveis de modularização só seriam chamados apenas um vez, portanto, segundo ele, não deviam ser modularizados. Conclusão, o código do cara ficou parecendo um miojo bizonho, grudento e nojento.
Fico pensando quais seriam as causas para tanto medo de caixa preta. Será que é porque não conhecem o conceito? Bem, todas as vezes que perguntei a resposta foi: “Conheço, claro!”. Mas, não parece tão claro. O Jaspion só demonstra ter fé no código escrito por ele. Que irônico .... heheh!!!! Será que é arrogância, pura e simplesmente? Provavelmente são as duas coisas, pois não existe arrogância sem ignorância. Bem, posso não ter a resposta para essa questão, mas creio que ficará difícil negar que os Jaspoins têm medo da caixa preta.




Um comentário:

  1. Gostei, Gerson!

    Código de stored procedures é particularmente propenso ao estilo "Jaspion", justamente porque é mais difícil modularizar. Diante dessa histórica limitação, as mais recentes versões dos principais SGBD suportam subrotinas e até POO para favorecer a subdivisão do código em "caixas pretas".

    ResponderExcluir