Desain-bijaksana, copy-paste kode tentu saja merupakan bencana, dengan potensi untuk menyebabkan banyak masalah di masa depan. Tetapi Anda bertanya mengapa ini membutuhkan banyak pekerjaan saat ini , jawabannya adalah: karena tidak pernah hanya menyalin dan menempel.
Jika kode asli ditulis untuk digunakan kembali, sebagai perpustakaan yang cukup independen, dengan fleksibilitas dan penggunaan klien dalam pikiran - bagus, tapi itu bukan copy-paste, itu menggunakan perpustakaan kode. Copy-paste kode sebenarnya biasanya lebih seperti ini:
- "Tentu, aku sudah punya kode yang melakukan itu!"
- "Tunggu, yang mana dari lima versi kode ini yang ingin aku gunakan sebagai sumberku?"
- "Hmmm, apa fungsi semua fungsi 'util_func_023' ini? Bukankah aku mendokumentasikannya? Manakah dari mereka yang aku butuhkan sekarang?"
- "Oh, ya, kode ini menggunakan Basis Kode Y. Kira saya perlu [ memilih satu: salin semua Basis Kode Y ke proyek baru saya / menghabiskan satu hari melepaskan satu fungsi yang saya inginkan dari Basis Kode Y / menghabiskan waktu seminggu melepaskan satu fungsi yang saya inginkan dari Code Base Y]. "
- "Aku menyalin semuanya, yay!"
- "Kenapa ini tidak berhasil?"
- Ini adalah titik di mana Anda menghabiskan berjam-jam / hari / minggu men-debug kode yang ada yang mirip dengan yang Anda inginkan, alih-alih menulis kode yang sebenarnya ingin Anda mulai.
Singkatnya, kode yang ada yang tidak dapat digunakan secara langsung, paling tidak, dapat berfungsi sebagai referensi yang baik untuk menulis kode yang sama. Ini tentu saja tidak dapat diangkat seluruhnya dan diharapkan bekerja dalam sistem yang sama sekali berbeda. Secara umum, ini adalah asumsi yang aman bahwa kode apa pun yang telah ditulis dan diselesaikan, harus dikacaukan sesedikit mungkin - bahkan ketika itu adalah salinan dan bukan yang asli itu sendiri.
Jika Anda ingin mendasarkan proyek Anda pada copy-paste, Anda harus memulai kode dengan cara yang memungkinkan penggunaan kembali yang mudah, tanpa menyalin kode asli itu dan mengacaukannya. Itu layak dilakukan, dan jika itu yang diharapkan bos Anda, maka Anda berdua perlu memastikan bahwa itulah cara Anda merancang dan bekerja.