6 maneiras de fazer a mesma coisa, o que é considerado boas práticas?

As vezes tem tantas maneiras diferentes de fazer o mesmo código que nós ficamos na dúvida quanto a qual maneira usar. O que seria considerado "boa prática" pela comunidade e o que sua equipe entenderia melhor. Suponhamos que você esteja trabalhando dentro de um método de um Domain Service chamado UmDomainServiceChique(objetoDoDominio) que será chamado por uma API. Você tem uma regra de negócio chique para ser verificada que por enquanto chamarei de VerificaMinhaRegraChiqueComplexa(). Você chama UmDomainServiceChique(objetoDoDominio) e caso VerificaMinhaRegraChiqueComplexa() retorne true você vai querer que UmDomainServiceChique faça o que tem que fazer e a api retornar Ok 200, caso contrário você quer que a API responda um erro qualquer, tipo BadRequest, e retornar uma mensagem dizendo que VerificaMinhaRegraChiqueComplexa deu ruim. Eu vejo 6 maneiras de fazer isso, gostaria de saber a opinião de outrs devs sobre qual seria a maneira menos gambiarr

Metaprogramação... firefox sux

E a palavra do dia é.... metaprogramação!

Executar


Função eval do Javascript... linda!


mas...


Embora o post anterior para salvar o IE6 fosse brincadeira... acho que vou reconsiderar porque esse já é o segundo script que finciona em todos os Browsers, até no fatídico IEca mas não funciona no ben(mal)dito firefox. O outro script para conversão de medidas também não funcionou.


É interessante que os dois scripts funcionaram no firefox em uma página separada, mas dentro do blog não. Tudo bem, deve ter algum outro script dentro do blog que está atrapalhando. Scripts do google, do proprio blog, do Syntax Highlighter de Alex Gorbatchev, sei lá, mas é fato que funciona nos outros borwsers e no firefox não.


Aliás, esta última safra de browsers está terrível, não vejo a hora que sai a próxima versão de cada um. O ópera foi o único que se salvou.


O que melhorou no novo firefox 3.6 é que diminuiu um pouco o consumo de memória (os leaks horríveis, nojentos, fedidos e risíveis do firefox). Não sei como um software open-source auditado por tanta gente pode ter tantos leaks. Tá na hora dos caras aprenderem com o pessoal do linux e do apache.


Voltando à metaprogramação ... as linguagens compiladas são meio pobres nesse quesito, se comparadas com as interpretadas ou gerenciadas... anyway... alguém sabe como eu faço, em Delphi,
para definir ou redefinir um método de uma classe ou de um objeto já instanciado em tempo de execução? Ou como eu posso criar uma instância objeto que na verdade seja uma classe? (não, não quero uma instância de Tobject, quero tentar criar uma instância de TClass, como se criasse um objeto do tipo classe)


A única maneira que eu conheço é TBlaBlaBla = class of TAlgumaClasse ... e aqui não funciona generics.

Comentários

Postagens mais visitadas deste blog

Busca de CEP com o Lazarus - Parte 1 - UrlEncode

Botão Add This para adicionar seu post em qualquer rede

Uso de memória no SQL Server