Postagens

Mostrando postagens de 2020

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…

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…

Somos (des)humanos

Existe algum estudo da psicologia ou da psiquiatria que estuda diretamente populações de programadores e os problemas em comum que eles desenvolvem? É uma curiosidade minha, não manjo nada da área.
    Eu sempre achei que uma máquina nunca iria pensar como um ser humano, gosto de usar o artista como exemplo. Uma máquina nunca pensaria como um artista. Eu sei disso porque nem eu que sou um "humano não artista" consigo pensar como um artista. Será que a arte é algo inerentemente humano?
    Mas no meu trabalho eu passo o dia inteiro tentando pensar como uma máquina. Isso não é uma experiência desumanizante? Será que não é isso que nos faz perder empatia com o usuário?
    Veja bem, alguns nos classificam (nós devs), como pedreiros de tecnologia. Vamos montando software com nossas ferramentas. Mas um amigo um dia me disse que nós somos drivers: nós traduzimos os requisitos do usuário de uma língua que só ele entende para uma língua que só uma máquina entende. E depois traduzim…

Sobre Junior, Pleno e Sênior ...

Vira e mexe essa discussão volta a tona no Twitter, sobre o que é ser sênior , junior etc...
Primeiro de tudo ser sênior não significa nem habilidade nem capacidade, muito menos domínio de alguma linguagem ou tecnologia. Ser sênior significa ter experiência em matéria de tempo mesmo. Km rodados. 
Então não significa necessariamente que o dev Sr. é um guru da tecnologia, muito pelo contrário: algumas das maiores cagadas que tenho limpado são de devs com 10+ anos de XP. Não falo de acidentes como um update sem where, mas coisas como por exemplo dois métodos exatamente iguais mas com parâmetros invertidos. Catch mudinho. Grafo de um giga sendo enviado pro browser em JSON. Webservices abertos sem senha nem segurança nenhuma. Sei lá, é tanta cagada que a gente limpa todo dia. 80% é dev Sr que faz. 
O negócio de Junior/Pleno/Sênior varia de acordo com a empresa.  As vezes o cara que é considerado sênior em uma empresa é considerado Junior em outra.  Ou é considerado sênior em uma tecnologia e Ju…