Clean Code: A Handbook of Agile Software Craftsmanship, por Robert C. Martin (@unclebobmartin), também conhecido como “Uncle Bob”.

Como o próprio nome já diz, é um livro sobre escrever código limpo, código de fácil leitura e manutenção. E apesar de abordar muitos pontos iguais a outros livros desse tipo, como Code Complete (Steve McConnell), Refactoring (Martin Fowler), The Pragmatic Programmer (Andrew Hunt, David Thomas), é um assunto sempre interessante, pois escrever código limpo é difícil e de certa forma até subjetivo, o que torna ainda mais importante conhecer diversos pontos de vista, técnicas, etc.

Todo o código de exemplo do livro é em Java, mas isso não deve ser problema para a maioria dos programadores, pois conhecer um pouco da sintaxe Java é praticamente obrigatório devido a tanto conteúdo que existe nessa linguagem. Em alguns raros momentos, o livro fica um pouco específico demais em Java, mas não chega a ser um problema.

Um dos princípios interessantes que o tio Bob prega no livro é a regra de escoteiro: “você deve sempre deixar o lugar mais limpo do que encontrou”, ou seja, sempre “comitar” o código um pouco melhor do que estava. Dessa forma você evita que ele se deteriore com o tempo. Mesmo que sejam pequenas melhorias, uma variável renomeada, um método extraído. Por menor que sejam, sempre valem a pena.

O livro aborda tópicos importantes para o dia-a-dia de qualquer programador. Nomeação de variáveis, métodos, funções, classes. Boas práticas para utilização de comentários, que quase nunca devem ser usados. Código para tratamento de erros, testes, etc.

Por mais que muitas coisas você já saiba, já tenha lido em outros lugares ou até pratique muitas delas no dia-a-dia, sempre temos algo para melhorar. Muitas coisas você começa a praticar quando vê os conceitos mas vai relaxando com o tempo. Por isso acho sempre bom ler esse tipo de livro para manter as idéias frescas na cabeça. Recomendo.