Código Limpo: destaques do capítulo 1
Nesta história apresento os pontos que mais me chamaram atenção sobre o primeiro capítulo do livro Código Limpo, de Robert C. Martin.
Código Limpo é um livro sobre boa programação. O objetivo é nos tornar mais críticos sobre nosso próprio código, permitindo-nos identificar a diferença de um código bem escrito para um mal escrito.
Código Mal Escrito pode Falir uma Empresa
Neste primeiro capítulo, vemos um caso de um app que, no final dos anos 80, era muito popular e amplamente usado. Porém, à medida em que o app era atualizado, bugs não eram reparados, aumentou a quantidade de crashes, entre outros problemas.
Posteriormente o autor descobriu que isso ocorreu pois a empresa lançou o produto apressadamente no Mercado, criando um código extremamente confuso. A cada nova feature o código piorava, até se tornar impossível de receber manutenção. O código mal escrito literalmente faliu a empresa.
O Grande Redesign no Horizonte
A produtividade de um time de desenvolvimento tende a decrescer continuamente à medida que o projeto cresce, até chegar no ponto onde a confusão no código é tão grande que os desenvolvedores demandam uma refatoração do sistema, com um novo design, criado do zero.
Porém, quando esse novo sistema é terminado (podendo levar até 10 anos), os desenvolvedores que criaram a demanda já saíram da equipe, e os novos desenvolvedores demandam outra refatoração porque este sistema está confuso, e o ciclo continua indefinidamente.
Confusão, Gerentes e Requisitos
O autor afirma que código se torna confuso não por agenda apertada ou mudança de requisitos, mas porque nós não somos profissionais. Gerentes e equipes de marketing olham para nós (desenvolvedores) buscando informação para fazerem promessas e se comprometerem; e mesmo quando não fazem isso, nós não devemos ter vergonha de dizer a eles o que pensamos. Nós somos responsáveis pelo planejamento do projeto e suas falhas, principalmente se a falha for causada por código mal escrito.
Gerentes querem a verdade. Eles podem defender a agenda e os requisitos com paixão, afinal este é o trabalho deles. O seu trabalho é defender o código com a mesma paixão.
Você não irá cumprir o prazo criando código confuso. Na verdade, a confusão irá atrasá-lo instantaneamente, e forçadamente você irá perder o prazo. A única maneira de cumprir o prazo, a única maneira de ser rápido, é manter o código sempre tão limpo quanto possível.
Bola de Neve da Confusão
Código mal escrito se torna uma bola de neve: a confusão nele tende a crescer com o tempo. Isso se dá pois quem for modificar o código, não irá entendê-lo, e acabará criando mais confusão.
Afinal, o que é Código Limpo?
Podemos dizer que há diversas escolas de programação, cada uma com uma própria definição sobre código limpo. Neste primeiro capítulo são apresentadas as definições de diversos profissionais, incluindo Bjarne Stroustrup (inventor do C++) e Ward Cunningham (inventor da Wiki). Alguns pontos sobre código limpo destes autores que vale a pena destacar são:
- O código é focado, fazendo uma coisa bem feita.
- O código pode ser lido e melhorado por outros desenvolvedores.
- O código possui diferentes testes.
- O código sempre parece que foi escrito por alguém que se importa com ele.
- Cada nome de função expressa exatamente o que ela faz.
Por enquanto é isso. Se tiver algo que não comentei e você achar importante, ficarei feliz de saber. Pode responder nos comentários :)
Abraço!