Article image
Pedro Drumond
Pedro Drumond26/10/2023 11:09
Compartilhe

Clean Code. Clean Cost: O impacto do código limpo nos custos

  • #Arquitetura de Sistemas

Qual de fato é o benefício de adotar Clean Code?

 

Clean Code é de fato uma das práticas de desenvolvimento de software mais importantes, principalmente quando falamos de Programação Orientada a Objetos. Por essa razão, obras como "Código Limpo - Habilidades Práticas do Agile Software", de Robert C. Martin, são bibliografia obrigatória não apenas para estudantes, como também para para qualquer desenvolvedor, independentemente da senioridade que possui.

 

Muito se fala dos benefícios de adotar Clean Code, entre os quais podemos citar:

 

  • A facilidade de implementar novas funcionalidades ao código;
  • Tornar o código compreensível para qualquer pessoa que precise utilizá-lo;
  • Tornar o código adaptável e eficaz;
  • Melhorar o desempenho, evitando funções e parâmetros redundantes.

 

A questão que será ponderada no presente artigo é a seguinte: Será que a adoção de Clean Code tem seus benefícios restritos ao desempenho da aplicação, sua manutenção e sustentabilidade?

 

Código ruim. Produto ruim: O Triângulo de Ferro.

 

Pode causar certo estranhamento afirmar que um código ruim torna o produto ruim, afinal, se os requisitos do produto forem atendidos, e o mesmo funciona corretamente, é de se considerar que o produto é bom, e atende às expectativas.

 

Entretanto, um código ruim tem impacto direto na viabilidade do produto, na medida que reduz a qualidade das entregas e aumenta o tempo necessário para reparos e novas implementações no sistema. Na prática, um código limpo é o fator que vai determinar se um produto ainda é competitivo dentro do mercado de tecnologia.

 

Considere o Triângulo de Ferro da gestão de um projeto ou produto:

 

image

 

QUALIDADE = TEMPO + CUSTO + ESCOPO

 

Seguindo esse princípio, a qualidade de um produto ou projeto é o resultado do equilíbrio entre tempo, custos e escopo. Onde a prioridade para cada sprint ou fase de implementação se dá em equilibrar ou priorizar um dos elementos em detrimento dos demais. Assim, podemos dizer que:

 

  • Reduzir os custos de um software aumentará o tempo para seu desenvolvimento e o cronograma da entrega;
  • Reduzir os custos poderá reduzir o escopo do projeto;
  • Reduzir o tempo de desenvolvimento aumentará os custos e o escopo;
  • Aumentar o escopo do produto poderá gerar aumento de custos ou do tempo para entrega do produto final. Em alguns casos, ambos!

 

É por esta razão que o código sujo impacta diretamente nos custos e viabilidade de um produto. Podemos citar as palavras do próprio Robert C. Martin:

 

Se você é programador há mais de dois ou três anos, provavelmente o código confuso de outra pessoa já fez que você trabalhasse mais lentamente e provavelmente seu próprio código já lhe trouxe problema. O nível de retardo pode ser significativo. Ao longo de um ou dois anos as equipes que trabalharam rapidamente no início de um projeto podem perceber mais tarde que estão indo a passos de tartaruga. Cada alteração feita no código causa falha em outras duas ou três partes do mesmo código. Mudança alguma é trivial. Cada adição ou modificação ao sistema exige que restaurações, amarrações e remendos sejam "entendidas" de modo que outras possam ser incluídas. Com o tempo, a bagunça se torna tão grande e profunda que não dá para arrumá-la. Não há absolutamente solução alguma. - Robert C. Martin, Código Limpo.

 

Ou seja, se o código não for limpo, bem estruturado e dinâmico, o produto se torna insustentável. Adotando o Triângulo de Ferro, novas implementações poderão gerar mais custos, através da necessidade de contratar mais desenvolvedores para entregar o escopo dentro do prazo acordado. Por outro lado, aumentando o tempo para manutenção do código, corre-se o risco do produto não se tornar mais rentável.

 

Num mercado tão dinâmico e acelerado quanto o das tecnologias e softwares, o tempo é um fator crucial para definir se um projeto deve ir à frente ou cancelado. Código ruim. Produto ruim.

 

Torne seu código competitivo

 

Com base nas informações acima, Clean Code é um dos fatores mais importantes para manutenção de qualquer projeto ou produto. Um código limpo vai além de adaptabilidade, manutenção e desempenho.

 

É a diferença entre um bom produto e um produto ruim.

 

Saiba mais:

 

Gestão de projetos e agilidade do Triângulo de Ferro

 

Código limpo: habilidades práticas do Agile Software / Robert C. Martin... [et al.]; [prefácio de James O. Coplien]. - Rio de Janeiro, RJ: Alta Books, 2011.

Compartilhe
Comentários (4)
Gabriela Santos
Gabriela Santos - 27/10/2023 11:22

Obrigada pela colaboração. Parabéns.

Kelly Fiochi
Kelly Fiochi - 27/10/2023 10:19

Show este artigo Pedro, parabéns!

Igor Machado
Igor Machado - 26/10/2023 21:10

artigo de grande ajuda e muito interessante! Parabéns

Natalia Moraes
Natalia Moraes - 26/10/2023 20:46

Texto de importância e qualidade, obrigada por compartilhar a fonte.