Saya minta maaf tetapi saya harus tidak setuju dengan sebagian besar jawaban untuk pertanyaan ini, kecuali untuk yang teratas.
Nilai utama dari perangkat lunak adalah fleksibel.
Saya tidak berpikir Anda harus menulis ulang kode orang lain tanpa alasan. Jika Anda harus mengubah modul dengan alasan apa pun untuk mengimplementasikan fitur Anda, Anda sekarang, menjadi lebih baik atau lebih buruk, pemilik modul itu. Ubah, tulis ulang sebagian, tulis ulang semuanya.
Jangan pernah menghasilkan kualitas rendah dalam hal fleksibilitas. Tidak ada yang namanya membuang apa pun dalam perangkat lunak. Jika klien mengatakan ini sementara dan bahwa mereka tidak akan membutuhkannya setelah tanggal tertentu, dan mereka tidak peduli dengan kualitas, baik mengatakan "buruk" atau secara tertulis bahwa kode tidak akan diubah oleh Anda atau programmer lain sekali itu digunakan untuk produksi, atau Anda memiliki hak untuk menuntut mereka.
Asumsi termiskin yang saya lihat dalam beberapa jawaban ini adalah bahwa beberapa kode bersih entah bagaimana mengurangi kecepatan pengembangan. Untuk proyek apa pun dari bahan apa pun (lebih dari 6 jam kerja) kode bersih mempercepat pengembangan dalam jangka panjang (apa pun yang lebih besar dari seminggu). Saya telah melihatnya berulang kali.
Kode kualitas yang buruk hanya tidak menghormati profesi dan rekan kerja Anda. Maaf tapi benar.
Jadi tidak dengan kualitas buruk, dalam hal fleksibilitas, lamanya!