Ferramentas de análise estática ajudam os times a produzir “código limpo”

Empiricamente, todos sabemos que os desenvolvedores gastam muito mais tempo tentando entender código antes de começar a fazer qualquer alteração que resolva um bug ou entregue alguma funcionalidade para o negócio. Há quem diga que essa relação chega a ser de 90/10, ou seja, em uma hora de trabalho, são investidos 54 minutos entendendo o código e apenas 6 fazendo algo que, efetivamente, entrega valor.

Nesse contexto, [tweet]qualquer iniciativa que reduza o esforço necessário para entender código tem potencial de causar impacto enorme de produtividade – tanto na perspectiva técnica dos times de desenvolvimento, quanto na perspectiva econômica que interessa tanto o negócio.[/tweet]

Há tempos, sabemos que [tweet]o caminho para reduzir o tempo gasto entendendo código é empenhando algum esforço escrevendo código-limpo que é mais fácil de entender.[/tweet] Infelizmente, a formação de profissionais com essa competência exige tempo. É difícil, caro e toma tempo fazer com que todos no time possuam, de forma nivelada, conhecimento, habilidades e, principalmente, as atitudes imprescindíveis para esse fim. Exatamente por isso, é necessário que busquemos formas de abreviar esse processo.

Dentre as várias iniciativas que conhecemos para melhorar a qualidade do código produzido, em um ambiente saudável, a que costuma produzir efeitos mais imediatos é a adoção de ferramentas de análise estática automatizada de código.

Em .NET, por exemplo, ferramentas como Resharper e NDepend atingiram níveis de maturidade surpreendentes e conseguem produzir insights valiosos mesmo para programadores experientes. Em outras linguagens e plataformas, há ferramentas igualmente poderosas.

Seja integrando-as as IDEs, seja incluindo-as como etapa no processo de Build, as ferramentas de análise estática conseguem identificar “sujeiras” comuns de escrita e indicar alternativas para a limpeza.

[tweet]Modernamente, essas ferramentas consolidam e explicitam o conhecimento da comunidade sobre como escrever código limpo.[/tweet] Métodos muito grandes, com muitos parâmetros, mal comentados, com alta complexidade são identificados. Classes muito grandes, com baixo nível de abstração e oportunidades de reduzir o acoplamento são detectadas. Chamadas ao banco de dados realizadas  na interface, referências cíclicas, objetos criados sem necessidade são apontados. Padrões de nomes para variáveis, métodos, classes, namespaces são especificados e indicados. Se não bastasse tudo isso, a cada nova versão essas ferramentas ganham mais e mais capacidades que podem acelerar tanto o processo de desenvolvimento quando gerar métricas confiáveis que suportem o planejamento de evolução do software.  

Treinar o time é, sem dúvidas, fundamental. Melhorar a cultura é uma necessidade inquestionável. Mas, modernamente, é difícil encontrar boas razões para que ferramentas de análise estática não sejam amplamente incorporadas as rotinas das organizações. Os investimentos são nulos frente aos benefícios potenciais.

Compartilhe este insight:

Comentários

Participe deixando seu comentário sobre este artigo a seguir:

Subscribe
Notify of
guest


0 Comentários
Inline Feedbacks
View all comments

AUTOR

Elemar Júnior
Fundador e CEO da EximiaCo atua como tech trusted advisor ajudando empresas e profissionais a gerar mais resultados através da tecnologia.

Design Thinking & IA

Transformamos ideias inovadoras em modelos de negócio digitais escaláveis e sustentáveis, utilizando insights estratégicos gerados por IA para validar hipóteses, prever cenários e reduzir riscos antes do investimento.

NOVOS HORIZONTES PARA O SEU NEGÓCIO

Nosso time está preparado para superar junto com você grandes desafios tecnológicos.

Entre em contato e vamos juntos utilizar a tecnologia do jeito certo para gerar mais resultados.

Insights EximiaCo

Confira os conteúdos de negócios e tecnologia desenvolvidos pelos nossos consultores:

0
Queremos saber a sua opinião, deixe seu comentáriox
× Precisa de ajuda?