Pular para o conteúdo principal

Postagens

Mostrando postagens de outubro, 2023

Como criar um ambiente aberto ao debate

Não é raro encontrar pessoas que sejam pressionadas a não expor uma opinião porque estão em um contexto em que cargos têm um maior peso na tomada de decisão que o conhecimento consistente. Não tenho dúvidas que todos confiamos que a um cargo está atrelada a experiência, ou seja, temos uma certa segurança e expectativa no papel que deve ser desempenhado. Porém, problemas podem surgir quando a pessoa errada está em um cargo importante. Um ambiente em que todos - de júnior a sênior - se sentem bem para participar é incapaz de se desenvolver sem o devido valor que merece a busca por conhecimento, capaz de estabelecer uma cultura em que as pessoas envolvidas se sentem convidadas ao debate inteligente, porque não está fundamento em posições, mas na colaboração por meio do saber. Equipes de desenvolvimento, líderes técnicos e de projetos, normalmente, precisam tomar decisões importantes para a vida de um serviço no longo prazo, cujos problemas atuais podem ser frutos de aspectos importantes q

Tratamento de erros em Go

É comum que as aplicações precisem lidar com situações excepcionais, como dados de entrada errados (json mal formatado), falhas de acesso ao disco ou em conexões de rede ou registro inexistente em uma base de dados. A manipulação de erros em Go é diferente de como realizamos em outras linguagens, como Java, Ruby e Python. Nessas linguagens, lidamos com exceções, que tratamos com o uso da estrutura try/catch ou algo similar.  Normalmente as pessoas recorrem à leitura de uma "stack trace" para identificar a linha de um arquivo em que a exceção surgiu, então, ao trabalhar com Go, buscam uma maneira similar através de bibliotecas de log, mas o resultado final são logs em várias partes do código, justamente por não utilizar a maneira própria da linguagem Go para o tratamento de erros. Erros são valores  Em Go não temos uma sintaxe especial para manipular erros, porque erros são valores do tipo error, comumente retornados em uma função. Então, devemos verificar o erro e realizar al