Como as linguagens modernas tratam valores null

Valores null podem (e com certeza vão), em algum momento, resultar em uma NullPointerException. Negligenciar aspectos que podem resultar essas exceptions podem trazer problemas difíceis de serem encontrados e resolvidos. Pense em uma cadeia de objetos que formam uma hierarquia de objetos dependentes. Se qualquer desses objetos permitir um valor null e em algum momento…

Conformação arquitetural: sincronizando o código e a arquitetura do projeto

A edição de abril de 2015 da Revista Java Magazine trás um artigo meu sobre Conformação Arquitetural. Ao longo do tempo a arquitetura planejada para um software tende a se distanciar do que foi inicialmente projetado. A representação do projeto por meio de diagramas UML em documentos de arquitetura de software perdem total conexão com o código fonte…

Java Reflection: um exemplo prático

Reflexão (reflection) é uma característica que permite a um programa observar e até modificar a sua estrutura e o seu comportamento interno. Os termos comumente utilizados são reflexão e introspecção. Na reflexão, um programa observa e modifica seu comportamento enquanto que na introspecção ele apenas observa e obtém informações dele mesmo. A linguagem Java possui…

Qualidade de código: encapsular estruturas condicionais

Recentemente escrevi sobre qualidade de código apresentando uma ferramenta de análise de código chamada Sonar. Esta ferramenta verifica vários aspectos do código fonte, entre eles a complexidade do código. Códigos complexos possuem muitos caminhos de execução e, além de ter uma chance maior de serem origens de bugs, são mais difíceis de ler. O ideal…

Padrões de Código Java do Google e Oracle

O Google Java Style, ou Estilo de Código do Google, é um guia de referência de como organizar o código fonte dentro do Google, ou seja, os princípios que todos os desenvolvedores do Google seguem. O documento é muito interessante e fornece uma ideia de como organizar seu código em um padrão de alto nível,…

Analisando a qualidade do código com o Sonar

Medir a qualidade de um projeto de software é algo complexo e envolve muitos indicadores, além disso, qualidade é muito relativa e depende do ponto de vista do observador. Um gerente financeiro pode observar a qualidade pela economia proporcionada pelo software. O usuário observa se o software atende aos requisitos funcionais, o número de falhas,…