Pular para o conteúdo principal

Postagens

Mostrando postagens de julho, 2021

Antes de debugar, tente logar - Um panorama do Log4J

Não pretendo, com este post, advogar contra o processo de depuração. Muitos erros só são resolvidos com uma boa debugada no código, não tem jeito. O objetivo aqui é incentivar a arte de logar. Logar em diversos níveis e em diversos pontos do seu projeto/sistema/API. Você não precisa acreditar em mim. Acredite em todas as bibliotecas que você utiliza, que emitem mensagens para te auxiliar o tempo todo. Não seria bom que quem usa suas bibliotecas e/ou APIs pudessem ter a seu dispor o mesmo nível de auxílio? Meu primeiro exemplo vem de um caso prático que passei. Estava passando por problemas no VRaptor (para quem não conhece, o VRaptor é um framework Java MVC que te auxilia magnificamente na construção de controllers , lidando muito bem com a camada Web e permitindo até a construção de serviços REST), e percebia que o debug não estava me dando as informações necessárias para resolver meu problema. Foi quando mexi no arquivo de configuração do Log4J e aumentei o nível de log do framewo...

Angular Coding Style Guide

Voltando à plataforma Angular, vou falar neste post sobre o Guia de Estilo Angular , um conjunto de recomendações que envolvem desde a nomenclatura dos arquivos e estrutura das pastas até tamanho das classes e funções para manter coesão. Esse guia está disponível neste link aqui . Muitas linguagens acabam orientando os seus programadores em uma direção de padronização. O antigo Delphi já trazia seu estilo PascalCase , também conhecido como UpperCamelCase , com letras prefixando os nomes identificando seu propósito (T para tipo, I para interface, etc.). Esse estilo acabou sendo adotado na plataforma .Net (alguns arquitetos da Borland foram contratados pela Microsoft exatamente para criar a sua nova plataforma na época, para rivalizar com a crescente tecnologia J2EE ...). Java e Javascript adotam o padrão CamelCase , e o Maven acabou padronizando a estrutura das pastas dos projetos Java pela sua adoção maciça pela comunidade. Essa padronização é algo bom e positivo e toda equipe de...

Angular e Lint: Análise de código

  A plataforma Angular costuma primar pelas boas práticas, sempre recomendando-as e reforçando-as em sua arquitetura. Um dos conceitos utilizados é o de lint , termo que ficou popular recentemente e que indica uma análise estática do código-fonte em busca de violações: no estilo, formato e em construções suspeitas. O conceito de lint não é novo: foi criado no final dos anos 70 ( Wikipedia ), para a linguagem C, e vem evoluindo desde então com ferramentas diversas para as mais variadas linguagens de programação. Na plataforma Angular, a ferramenta TSLint foi adotada desde as primeiras versões, fornecendo análises estáticas para manter o código desenvolvido mais robusto e padronizado entre as equipes. Quando criamos uma aplicação Angular a partir da ferramenta de linha de comando ( @angular/cli ), um comando é adicionado no arquivo package.json para realizar uma análise no código do projeto: ng lint . A saída do comando aponta possíveis violações nos padrões de projeto e nas conv...