Je suis désolé, mais je serais en désaccord avec la plupart des réponses à cette question, à l'exception de la première.
La principale valeur d'un logiciel est qu'il est flexible.
Je ne pense pas que vous devriez réécrire le code des autres sans juste motif. Si vous devez changer un module pour une raison quelconque pour implémenter votre fonctionnalité, vous êtes maintenant, pour le meilleur ou pour le pire, le propriétaire de ce module. Changez-le, réécrivez une partie, réécrivez tout.
Ne produisez jamais une qualité médiocre en termes de flexibilité. Il n'y a rien de tel que de jeter quoi que ce soit dans un logiciel. Si le client dit que c'est temporaire et qu'il n'en aura plus besoin après une certaine date, et qu'il ne se soucie pas de la qualité, dites "mauvais" ou écrivez que le code ne sera pas modifié par vous ou par un autre programmeur une fois il est déployé en production, ou vous avez le droit de les poursuivre.
L'hypothèse la plus mauvaise que je vois dans certaines de ces réponses est qu'un code propre réduit en quelque sorte la vitesse de développement. Pour tout projet de n'importe quelle substance (plus de 6 heures de travail), un code propre accélère le développement à long terme (plus d'une semaine). Je l'ai vu maintes et maintes fois.
Un code de mauvaise qualité est tout simplement irrespectueux envers la profession et vos collègues. Désolé mais vrai.
Donc pas de mauvaise qualité, en termes de flexibilité, jamais!