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…
Tag: qualidade de código
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…
DevOps: Estudo de caso sobre erros de build no Google
O build do código é uma fase muito importante no desenvolvimento de software, sem o build não há executável, ou seja, o processo de build é primordial para obter um software funcional. O processo de build (ou compilação dos fontes), parece uma tarefa trivial, mas é, na verdade, um processo bastante complexo. Esse processo consiste…
Sonar Java: avaliando o código por meio de métricas
A edição de setembro de 2014 da Java Magazine trás um artigo meu sobre métricas de qualidade de software e como o a ferramenta Sonar auxilia no gerenciamento e controle do código de um projeto. O artigo apresenta o Sonar e os conceitos utilizados pelo mesmo para o monitoramento da qualidade de código. Acompanhar a…
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…
Software Intelligence: ferramentas e técnicas para a qualidade de software
Software Intelligence é mais um termo recente no mundo da engenharia de software. Apesar de ser um termo recente, ele se refere a práticas aplicadas desde que os softwares começaram a ser desenvolvidos, embora neste momento o refinamento de Software Intelligence seja bem maior do que no passado. O termo vem ganhando alguma popularidade com…
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,…