Introdução

Publicado em 2011, o livro “O codificador limpo” de Robert C. Martin (carinhosamente chamado de Uncle Bob), traz um estudo sobre um assunto bem presente na vida de um dev: a prática da codificação limpa.

Mais do que ensinar sobre a escrita de código, Bob aborda um conjunto de princípios que ajudam a transformar a maneira como você se relaciona com o trabalho, tendo como proposta mostrar que escrever código de qualidade não é apenas uma habilidade, mas uma responsabilidade.

Press enter or click to view image in full size

A filosofia do codificador limpo

Quando comprei esse livro não sabia muito bem o que esperar de sua leitura. Cheguei a pensar que aprenderia sobre técnicas e dicas secretas, mas foi um pouco além disso. Já no começo Bob bate com os dois pés no seu peito e mostra que pra ser um bom programador você deve primeiramente saber ser um ótimo profissional.

Responsabilidade do programador

Profissionalismo é um termo carregado. Sem dúvida, é um distintivo de honra e orgulho, mas também é um marcador de incumbência e responsabilidade

Um dos primeiros pontos abordados por Bob é sobre a responsabilidade, o que muitas pessoas carregam desde o início no mercado de trabalho outras não tem nem com anos de experiência. Sempre tome a responsabilidade daquilo que você está entregando, você deve ter compromisso com a qualidade do seu trabalho.

A importância da postura profissional em um desenvolvedor é essencial no equilíbrio da equipe. Quem já trabalhou com pessoas que não se importavam em cumprir prazos ou apenas faziam o mínimo para andar com as atividades sabe muito bem disso. Esse tipo de comportamento acaba gerando conflitos internos dentro de um time.

Quando você assume a sua responsabilidade você sempre deve levar em consideração não causar danos ao seu redor. Isso vai desde o nível do código até danos ao cliente ou seus parceiros de projeto. Se você já é desenvolvedor sabe que o tempo mais caro que existe é o de ter que corrigir algo que você já deveria ter feito certo. Não somos perfeitos, em algum momento deixaremos passar alguns erros, mas seu foco deve ser sempre buscar a excelência.

Seja um profissional que sabe o que está fazendo, que age com ética no trabalho, que colabora, ajuda o time e que principalmente esteja sempre em busca de ser melhor.

O papel da disciplina no desenvolvimento

Skills técnicas nem sempre serão suficientes para um programador ser um bom profissional. O que impacta diretamente a forma como você será visto dentro do time é sua disciplina.

Como comentado anteriormente, sua responsabilidade deve ser sempre entregar com qualidade. É a falta de disciplina que irá fazer com que você tome decisões que a comprometam.

Um profissional disciplinado não entrega código quase pronto só para cumprir prazo, deixa de testar sua atividade ou mente sobre o status da tarefa. Sempre assuma suas entregas, você será responsabilizado por elas. Não apenas isso, mas também é seu dever estar pleno para o trabalho para não precisar atuar no código em horários incomuns, preocupado ou em lugares inapropriados com muitas distrações.

O livro destaca alguns hábitos que reforçam a disciplina no dia a dia:

  • Test-Driven Development (TDD): é uma ótima forma de garantir que seu código estará sendo desenvolvido com uma garantia de funcionamento
  • Commits frequentes e pequenos: para facilitar o versionamento e controle de mudanças
  • Código limpo sempre: não considerar frases como “depois eu arrumo”
  • Refatoração: ter a prática como uma etapa constante no seu fluxo de trabalho

Técnicas e práticas de desenvolvimento

Falamos bastante sobre a postura que devemos ter fora das linhas de código, mas dentro delas claro que também devemos ser exímios profissionais. Tenha em mente que escrever um bom código é uma obrigação.

Seu código deve sempre fazer o que precisa e ter fácil entendimento. Não sacrifique a qualidade do que você desenvolve em função de prazos apertados, afinal, a maior parte do custo de um sistema é na manutenção e não na construção.

A refatoração e escrita de código limpo é uma disciplina de todo desenvolvedor. Busque sempre utilizar boas práticas e deixar o código o máximo legível para que futuras manutenções não sejam tão custosas.

Gerenciamento de tempo e estimativas

Estimar o prazo de uma atividade vai ser sempre a tarefa inicial mais difícil do programador. Quando você estima uma atividade ela deve ser baseada em experiências e dados prévios, não nas pressões externas. Quando você diz um prazo e se compromete com ele, você deve entregar no tempo que prometeu, então tome cuidado.

Sempre leve em consideração possíveis interrupções durante o processo de desenvolvimento, é melhor entregar uma estimativa com margem de segurança do que prometer algo que não é possível podendo comprometer a qualidade da entrega.

Um outro ponto importante é que um bom profissional cuida do próprio tempo como um bem precioso. Priorize as tarefas importantes e evite ao máximo distrações e interrupções desnecessárias. Seja produtivo num ritmo saudável.

Trabalho em equipe e comunicação

Já se foi a época em que a imagem do programador era a da pessoa quieta e isolada. Num tempo de altas demandas com entregas ágeis, a comunicação com a equipe é extremamente importante.

É de sua responsabilidade também se comunicar com clareza, empatia e humildade. Seja claro ao explicar problemas e evite a utilização de palavras muito técnicas com pessoas não técnicas.

Também esteja sempre numa posição de escuta ativa quando conversando com o time, muitas vezes você deve buscar entender os problemas e não só o que foi pedido.

Gerenciamento de carreira e aprendizado contínuo

Ser um bom profissional é ter um compromisso diário com sua evolução. É seu dever (e não do seu empregador) se capacitar para sua atuação como programador.

Nessa parte acredito que todos temos uma maneira mais proveitosa de aprender conteúdos novos, eu por exemplo gosto muito mais de ler do que assistir vídeo aulas, mas talvez para você seja o contrário.

O ponto é: busque estudar diariamente, participe de comunidades, desenvolva projetos pessoais, etc. É importante se manter atualizado para estar sempre pronto para novas oportunidades podendo entregar soluções mais modernas.

Conclusão

O livro é um guia de conduta para programadores profissionais. Martin vai além da parte técnica e mostra como devemos tratar o desenvolvimento de software como uma disciplina séria que exige responsabilidade, ética e compromisso com qualidade. Ao adotar a mentalidade do codificador limpo, o desenvolvedor deixa de apenas entregar tarefas e passa a entregar valor com responsabilidade.