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

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 traduzimos a saída dessa máquina para uma linguagem que o usuário entenda. 

    Somos tradutores / intérpretes entre máquinas e pessoas. Mas não seremos a última esperança de resistência contra as máquinas, porque já estamos mais do lado delas do que dos humanos. Afinal, já trabalhamos como ferramentas. Ferramentas! Nós somos menos que humanos. O que é mais desumanizante do que você ser uma ferramenta? Ser um driver para traduzir / adaptar linguagem dos GPs para linguagem de programação? Ser só uma engrenagem mais cara mas ainda assim dispensável em uma máquina muito maior? 

    Embora nós tenhamos que estudar todo santo dia e não tenhamos ficado um minuto sem estudar desde que começamos nossa carreira Dev, baixe a bola, amigo, nós não passamos de peões digitais.

    Com o tempo, trabalhar como máquina, pensar como máquina, ser uma máquina vai minando nossa empatia, tornando nossas relações mais artificiais, enxergamos os usuários como seres inferiores apenas subprodutos do nosso trabalho. E os GPs são usuários com poderes.

    Aí vem a ansiedade. As coisas mudam. Saiu um novo framework. Você leu o manual e sai dando palestras dele. Aí vem o dunning kruger. Você acha que sabe de tudo. Aí vem a realidade e seu projeto desmorona. Em seguida, síndrome do impostor. 

    E você fica orbitando esses dois extremos, hora se achando um Deus hora se achando um merda, sendo obrigado a trabalhar como máquina, ter mais afinidade com o computador do que com outras pessoas, se obrigando a saber algoritmos, estrutura de dados, linguagens de programação, frameworks, bancos de dados ....

    Respira.

    Esse texto parece fazer algum sentido? Claramente não faz.

    Eu comecei a escrever ele enquanto trabalhava, tive que parar por causa de bugs / projetos urgentes e quando retomei, mais de uma semana depois, não me lembrava o que eu tinha que escrever nem o que eu estava pensando ou sentindo no momento. Parece que além de máquinas, fomos condicionados também a ter uma memória volátil. 

    Então é isso, somos peões digitais, menos que isso, drivers, e fazemos uma coisa que julgamos ser arte numa tentativa de nos rehumanizar tentando dar algum glamour ao nosso trabalho. Programação é arte? E com isso vamos nos distanciando do que deveria ser um ser humano. 

Comentários

Postagens mais visitadas deste blog

6 maneiras de fazer a mesma coisa, o que é considerado boas práticas?

Detectar o encoding de um arquivo para não corromper ao transformá-lo

Uso de memória no SQL Server