Parece que ninguém levanta a questão do que é do melhor interesse da sua empresa?
Freqüentemente, se não sempre, os programadores são apenas funcionários e, embora as decisões de gerenciamento possam nos frustrar, geralmente não temos todos os dados que eles possuem.
Por exemplo, digamos que a empresa tenha uma cláusula de que, se o software não estiver pronto a tempo, você não será pago (aconteceu apenas conosco, embora eu ache que recebemos o pagamento, afinal). Sim, o código limpo é importante, mas o mais importante é ter o código funcionando até o dia do pagamento!
Outro exemplo - a empresa está em uma situação financeira ruim e precisa arrecadar dinheiro. Adivinha quem se importa com a qualidade? Você pode corrigi-lo mais tarde, se for necessário, basta enviá-lo!
Um argumento pode ser "Por que devo vender e escrever códigos ruins?". Bem, por que sua empresa deveria pagar um cheque mensalmente? Escolhas, meu amigo. Se você está atrás do idealismo, tente a Free Software Foundation ; Ouvi dizer que eles estão fazendo coisas bem legais (quero dizer, este, e eu respeito a FSF e OSS).
Por outro lado, se você trabalha em um projeto em que é esperado um crescimento explosivo no uso (embora essas projeções quase nunca sejam precisas), é melhor estabelecer uma base sólida com a melhor qualidade de código necessária, pois é quase certo que a manutenção será necessária. ser o maior custo para o projeto.
Os programadores adoram código 'limpo', o que quer que isso signifique. Não podemos nem concordar com o que é limpo, mas adoramos. No entanto, às vezes isso não importa tanto quanto a usabilidade e a correção. Isso pode parecer sinônimo, mas não é - se você vê código escrito por um verdadeiro hacker Perl em 4 horas com a intenção de ser usado duas vezes e jogado fora, você reconheceria que não está limpo, mas funciona.
Então, às vezes, deixando de lado o ego, devemos fazê-lo funcionar. Observe que eu não recomendo escrever código ruim como hábito; Estou apenas apontando que pode ser necessário. A perfeição leva tempo que sua empresa pode não ter. Portanto, se o seu empregador não se importa, crie software, mas se precisar, basta escrever o código de trabalho, não se preocupe com a 'limpeza'. Não é apenas uma resposta 'tamanho único' - você deve priorizar.