Marcell Alves Desenvolvimento web, automação, design de software, testes

Resenha do livro Clean Coder

Robert C. Martin, mais conhecido como “Uncle Bob”, é uma grande referência quando se trata de desenvolvimento e agilidade. A sua obra mais conhecida, Clean Code, é um clássico absoluto da área de programação e deve ser lido por qualquer desenvolvedor que deseja melhorar a sua técnica.

Mas hoje, gostaria de chamar a atenção para um livro menos conhecido, mas extremamente importante: The Clean Coder – A Code of Conduct for Professional Programmers.

Considero esse livro um sucessor natural do Clean Code e inclusive, existe uma versão dois-em-um desses livros, que foi a que eu li, seguindo a sequência dos dois, e achei que as duas obras se complementam de forma perfeita.

Se me pedissem para resumir o livro em uma palavra, seria: profissionalismo.

O livro te desafia a repensar a sua relação de responsabilidade com o trabalho, colocando questões como: se você comete um erro que custa 10 mil de prejuízo para a empresa para a qual você trabalha, quem deveria arcar com as consequências? Na opinião do Uncle Bob, é o desenvolvedor quem deve se responsabilizar e fazer um cheque de 10 mil para a companhia. Claro que essa é uma situação um tanto exagerada, mas te faz repensar a postura ao publicar código em produção. Você se torna muito mais cuidadoso quando assume a responsabilidade sobre o seu código nesse nível.

Outro ponto interessante do livro é o paralelo que ele faz entre um programador profissional e um músico. Músicos profissionais praticam muito para refinar a sua técnica e segundo o Uncle Bob, nós desenvolvedores deveríamos fazer o mesmo. Ele até propõe que trabalhemos 20 horas por semana para a nossa carreira, seja praticando código, seja fazendo katas, dojos, assistindo a palestras, indo a eventos, lendo livros técnicos e blogs, escrevendo, etc. Na visão dele, a responsabilidade sobre a carreira é 100% do profissional e a empresa contratante não possui a menor obrigação de investir tempo e dinheiro na nossa carreira. Afinal, o nosso trabalho remunerado é performance, ou seguindo a analogia do músico, é o nosso show. Temos que performar bem no nosso trabalho, temos a obrigação de aplicar o nosso melhor esforço e a nossa melhor técnica para auxiliar o negócio dos nossos contratantes da melhor maneira possível. Não é profissional adotar tecnologias, linguagens e frameworks no nosso trabalho só por que queremos aprender aquilo. No nosso trabalho temos que aplicar somente coisas que conhecemos bem, que testamos e que avaliamos a fundo. Você não vai ver nenhuma banda compondo e ensaiando uma música ao vivo. Em um show, a banda só vai tocar aquilo que ela ensaiou exaustivamente. Nós desenvolvedores deveríamos fazer o mesmo.

O livro é escrito de desenvolvedor para desenvolvedor, e o autor consegue a nossa empatia ao colocar cenários e situações extremamente aderentes à realidade de qualquer um que trabalha com software. O Uncle Bob mostra com exemplos da própria carreira erros que ele cometeu, situações em que ele foi pouco profissional, e esse tipo de experiência prática é inestimável para quem vive de escrever código. O livro aborda uma gama muito grande de fatores, inclusive pessoais, soft e hard skills e também técnicas e ferramentas que auxiliam na produtividade de um desenvolvedor.

Ele é categórico ao afirmar que todo profissional que se preze aplica TDD. Não aplicar TDD é não-profissional. Pra quem trabalha com desenvolvimento no Brasil essa afirmação soa desanimadora, já que boa parte das empresas ainda não despertaram para o valor dessa prática, mas por outro lado, serve para reforçar para cada desenvolvedor que lê o livro que precisamos lutar diariamente para evangelizar as empresas, colegas e clientes da importância dos testes unitários, de componente, integração e sistema. Afinal, é não profissional colocar código não testado em produção.

O meu curso de graduação possuía disciplinas baseadas em livros canônicos da computação, tais como Sistemas Operacionais do Tanenbaum e o Projeto de Algoritmos do Ziviani. Acredito que deveria haver uma disciplina em todo curso relacionado a informática baseada no The Clean Coder. De preferência no primeiro período.

É muito importante possuir modelos e exemplos a serem seguidos na carreira e esse livro serve como uma mentoria. Inclusive, o Uncle Bob destaca que a mentoria é algo essencial para ajudar no desenvolvimento do programador. Depois de lê-lo, muitas vezes me peguei pensando no trabalho: “o que o Uncle Bob faria nessa situação? O que ele recomendaria?”. Acredito que se os jovens estudantes da área lessem esse livro o nível geral dos nossos profissionais seria elevado.

Se você quer escrever código limpo, seja um profissional.