Os escoteiros têm uma regra: “Sempre deixe o acampamento mais limpo do que você o encontrou.” Se você encontrar uma bagunça no chão, você a limpa independentemente de quem pode ter feito a bagunça.
Você melhora intencionalmente o ambiente para o próximo grupo de campistas. Na verdade, a forma original dessa regra, escrita por Robert Stephenson Smyth Baden-Powell, o pai do escotismo, era “Experimente e deixe este mundo um pouco melhor do que o encontrou.”
E se seguíssemos uma regra semelhante em nosso código: “Sempre verifique um módulo de forma mais limpa do que quando você fez o check-out.” Não importa quem seja o autor original, e se sempre fizermos algum esforço, não importa o quão pequeno seja, para melhorar o módulo. qual seria o resultado?
Acho que se todos nós seguíssemos essa regra simples, veríamos o fim da deterioração implacável de nossos sistemas de software. Em vez disso, nossos sistemas se tornariam cada vez melhores à medida que evoluíam. Também veríamos equipes cuidando do sistema como um todo, em vez de apenas indivíduos cuidando de sua pequena parte.
Não acho que essa regra seja pedir muito. Você não precisa tornar cada módulo perfeito antes de fazer o check-in. Você simplesmente precisa torná-lo um pouco melhor do que quando fez o check-out. Claro, isso significa que qualquer código que você adicionar a um módulo deve ser limpo. Isso também significa que você deve limpar pelo menos outra coisa antes de fazer o check-in do módulo.
Você pode simplesmente melhorar o nome de uma variável ou dividir uma função longa em duas funções menores. Você pode quebrar uma dependência circular ou adicionar uma interface para separar a política dos detalhes.
Francamente, isso soa como decência comum para mim – como lavar as mãos depois de usar o banheiro ou colocar o lixo na lixeira em vez de jogá-lo no chão. Na verdade, o ato de deixar uma bagunça no código deve ser tão socialmente inaceitável quanto jogar lixo. Deve ser algo que simplesmente não foi feito.
Mas é mais do que isso. Cuidar do nosso próprio código é uma coisa. Cuidar do código da equipe é outra completamente diferente. As equipes se ajudam e se limpam. Eles seguem a regra dos escoteiros porque é boa para todos, não apenas para eles próprios.
por Uncle Bob
Este trabalho está licenciado sob uma Creative Commons Atribuição 3