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

Fibonacci em SQL

Como prometi que minha próxima postagem seria sobre SQL, resolvi fazer a sequência de Fibonacci no SQL Server.

O SQL Server e o Transact SQL permitem a criação de funcions, procedures ou mesmo queries com o uso de várias construções comuns em linguagens de programação, como while, if etc.

A sequência de Fibonacci é um exercício muito comum de ser feito em cursos técnicos ou faculdades de áreas relacionadas à informática, e é um exercício clássico de programação.
Para quem não sabe, a Sequência de Fibonacci é uma sequência onde o próximo número sempre é a soma dos dois anteriores, partindo do 1, por exemplo:
1,1,2,3,5,8,13,21

O número de ouro, ou razão áurea, se dá pela divisão de dois termos vizinhos da sequência de Fibonacci, como por exemplo 13/5. Esse número, representado pela letra grega Φ (phi) é de grande importância na matemática e na biologia, já que indica a proporção em que se dá o crescimento biológico. Várias partes de nosso corpo (e de outras espécies) seguem essa proporção áurea.

O número de ouro é um número irracional, porém quanto mais longe (maiores os termos) você chegar na sequência de Fibonacci mais preciso será o seu número de ouro.

Esse é um exercício bastante praticado por quem está começando em uma linguagem, é um clássico, por isso resolvi fazer esse post com a série de Fibonacci em SQL.


declare @anterior double precision  = 1
declare @proximo double precision  = 1
declare @temp double precision  = 0
declare @termo int = 1
declare @numerodourado double precision = 0

create table #fib
(
anterior double precision ,
proximo double precision , 
numeroouro double precision
)

WHILE    (@termo <= 100 )
begin

 set @temp = @anterior + @proximo
 set @anterior = @proximo
 set @proximo = @temp
 set @numerodourado = @proximo/@anterior
 
 insert into #fib values (@anterior, @proximo, @numerodourado)
 
 set @termo = @termo+1
 
end 

select * from #fib

drop table #fib

Esse código chega até o termo de número 100 na sequência. Você pode incrementar mostrando mais termos, porém, como usamos aqui uma tabela temporária, você deve levar em conta o crescimento dessa tabela (e do TempDB). Você pode fazer a sequência em uma tabela fixa e deixar pré-calculado, para consultar quando precisar, ou selecionar os dois últimos termos para continuar de onde parou. Tente fazer esses exercícios.
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