Código Limpo - Acrônico e prático, útil apenas a desenvolvedores?
Um comentário de um clássico do desenvolvimento de software sob a perspectiva de um Engenheiro de Dados
Se tratando de desenvolvimento de software, e sua intrínseca relação com computadores, é sempre interessante pensar em livros do gênero que atingem absoluto sucesso, pois ora, se você caro leitor faz parte desse meio, está mais do que acostumado a consultas rápidas aos primeiros resultados obtidos em qualquer grande buscador. Todavia, pensamentos estruturados quase sempre requerem certa prolixidade, e um livro como Código Limpo é um excelente exemplo. Seja para um estudo completo ou mesmo uma dúvida pontual, tentarei explicar o porquê de valer um lugar em sua estante (sem me apoiar em seu amplo sucesso de vendas).
Acrônico e prático
Aos que ainda não o conhecem, seu primeiro capítulo se dedica a - excelentemente bem - introduzir o tema e estabelecer um argumento para sua relevância: códigos sujos afetam de forma pungente qualquer projeto (custo, tempo, estresse ao time de desenvolvimento), sustentação ou manutenção. Não posso me abster de comentar que neste momento o livro traz relatos de conversas do autor com diversas figuras relevantes para história da computação, o que nos reforça seu envolvimento e comprometimento com a pesquisa feita, e pluralidade de linguagens e paradigmas contemplados em seus estudos. Desta forma, ele fundamenta que, por exemplo, nomenclatura de variáveis e funções, formatação de código e comentários são elementos atemporais, já que aplicadas a programação em tantos cenários distintos.
Sendo assim, próximos capítulos nos apresentam inúmeras boas práticas de desenvolvimento e futuramente nos dão oportunidades de analisar códigos em Java e aplicar os conceitos abordados.
Útil apenas a desenvolvedores?
Boas práticas a desenvolvedores em Java? Isto nos leva a pergunta que deu título a este artigo. Minha jornada até aqui nunca me estabeleceu como um desenvolvedor propriamente dito, mas como engenheiro de dados e um entusiasta por ciência de dados e visualização, não me faltou contato com Python, SQL, Scala, R e até mesmo Java; todas linguagens de programação (ou quase), certo? Isto posto, por que não desfrutar do conteúdo inteligentemente?
Conclusão
Seus conceitos e sua vasta aplicabilidade foram muito agregadores para mim, uma vez que grande parcela de suas orientações são úteis a todo tipo de código e a profissionais que buscam mais qualidade em seu trabalho. Além do que, há ainda um capítulo, que enxergo como bônus, para discutir boas práticas em testes que vou deixá-los degustar sem spoilers (espero a este ponto tê-lo(a) convencido de ler).