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

Obtendo e formatando datas no .Net com C# e Iron Python

Formatos para obter a data:
1.  Use dd para obter simplesmente o dia
2. Use ddd para obter um nome curto para o dia 
3. Use dddd para obter  o nome completo do dia
4. Use MM em maiúsculo para obter o mês
5. Use yyyy para obter o ano com 4 dígitos
6. Use hh para obter as horas
7. Use mm em minúsculo para obter os minutos
8. Use ss para obter os segundos


Código no C# para imprimir a data (no console)

using System;
using System.Text;
namespace TesteDatas
{
    class FormatoData
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Current Date and Time:");
            Console.WriteLine(System.DateTime.Now);
            Console.WriteLine("Data: {0:dd}", System.DateTime.Now);
            Console.WriteLine("Dia: {0:ddd}", System.DateTime.Now);
            Console.WriteLine("Dia Longo: {0:dddd}", System.DateTime.Now);
            Console.WriteLine("Data Completa: {0:dddd - dd \\de MMMM \\de yyyy - hh:mm:ss}", System.DateTime.Now);
            Console.ReadLine();
        }
    }
}

Repare que na string de formatação temos um \\ antes do "De". Duas barras significa que estamos usando uma barra como caracter de escape para escrever uma barra dentro de uma string de formatação dentro de outra string. Então duas contrabarras são viram uma contrabarra (uma é escape e a outra é o caractere em si) e uma contrabarra + d serve para imprimir/mostrar a letra d de "de" em vez do dia.


Agora em Iron Python:


Depois de instalar o Iron Python adicione "C:\Arquivos de programas\IronPython 2.7\" na variável de ambiente path ou digite no cmd path "C:\Arquivos de programas\IronPython 2.7\"

Crie o arquivo Datas.py assim:  (Sem identações)


import System

System.Console.WriteLine("Data:")
System.Console.WriteLine(System.DateTime.Now)
System.Console.WriteLine("Data: {0:dd}", System.DateTime.Now)
System.Console.WriteLine("Dia: {0:ddd}", System.DateTime.Now)
System.Console.WriteLine("Dia Longo: {0:dddd}", System.DateTime.Now)
System.Console.WriteLine("Data Completa: {0:dddd - dd \\de MMMM \\de yyyy - hh:mm:ss}", System.DateTime.Now)
System.Console.ReadLine()


Execute com o comando ipy Datas.py


O resultado será o mesmo conseguido com C#. 


Have Fun ;)

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