Postagens

Mostrando postagens de Março, 2009

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ística de fazer:1) se Ver…

Detectando memory leaks, CnMemoryProfiler e FastMM4

Vamos conversar sobre memory leaks.



    Quanto mais programamos Orientado aObjetos, mais
temos a necessidade de instanciar componentes sem colá-los na
nossa form, ou seja, instanciá-los em runtime, ou
de instanciá-los dentro de nossas próprias classes, quando
são membros destas.

Isso pode causar diversos memory –leaks causados por 4 fatores:

esquecimento de dar um free no objeto ou componentes sem owner que
não são liberados
uma exeption, abort,exit, close, halt ou coisa parecida
acontecendo antes do free.
Instanciar 2 vezes um objeto em uma mesma variável,
perdendo a referência do primeiro.
Ponteiros que apontam para estruturas alocadas dinamicamente que
você esquece de dar um freemem.

    As edições 72, 74 e 75 da revista Clube Delphi, que traziam artigos sobre interfaces e POO, falavam
sobre isso, e até falavam sobre quando usar os owners self,
application, formx ou nil. Nem sempre estamos dentro de uma form,nem
sempre nossa classe é um descendente de TComponent,
então passar self, application ou…

Bem - Vindo

Bom, to começando agora a criar meu blog para postar alguns de meus trabalhos, dicas, bibliotecas etc e espero que sejam uteis.