Postagens

Mostrando postagens de outubro, 2011

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...

Formatando datas no SQL e no C#

Muitas vezes é necessário exibir datas em um determinado formato no GridView. Muitos programadores convertem a data para o formato desejado já na consulta SQL ou procedure. Isso não está correto por uma série de motivos, entre os quais podemos citar: 1) A responsabilidade de formatar a data deve ser totalmente da view, ou seja, da camada de apresentação. 2) Datas formatadas pelo SQL não são mais datas, são varchars, e não podem ser ordenados como datas. 3) Trazendo sempre a data integral do banco de dados pode-se fazer qualquer operação desejada com ela. Veja o link abaixo para tirar qualquer dúvida que você possa ter a respeito. http://weblogs.sqlteam.com/jeffs/archive/2007/04/13/format-date-sql-server.aspx Dito isso, algumas considerações interessantes: Para formatar strings diretamente em uma GridView adicione a coluna (bound column) e defina um valor para a propriedade DataFormatString: <asp:BoundField DataField="Data" DataFormatString="{0:dd/MM/yyyy...