Se você perguntar aos programadores por que eles devem escrever um código limpo, a resposta número um que você obtém é a manutenção. Enquanto estiver na minha lista, meu principal motivo é mais imediato e menos altruísta: não sei dizer se meu novo código está correto se estiver muito sujo. Acho que me concentrei tanto nas funções individuais e nas linhas de código que, quando termino o meu primeiro rascunho e passo para trás para olhar para o cenário geral novamente, às vezes não se encaixa muito bem. Passar uma ou duas horas refatorando para limpeza freqüentemente descobre erros de copiar / colar ou condições de contorno que eram muito difíceis de detectar no rascunho.
No entanto, algumas pessoas acham ocasionalmente aceitável fazer o check-in intencionalmente de códigos sujos no interesse do envio de software, com um plano para "limpá-lo mais tarde". Existe alguma técnica praticável que lhes dê confiança na correção de seu código quando a legibilidade for menor que o ideal? Vale a pena tentar desenvolver uma habilidade? Ou a falta de confiança no código é algo que algumas pessoas acham mais fácil de aceitar?
How do quick & dirty programmers know they got it right?
Porque ele funciona :)