Jangan Malas Saat Anda Copy Dan Paste

Karya Seni




Jangan Malas Saat Anda Copy Dan Paste


Memerangi pertempuran kecurangan salin / tempel


Judul artikel ini terdengar agak kontradiktif


Menyalin dan menempel mungkin tampak seperti tindakan malas, tetapi sebenarnya, ini bisa menjadi penggunaan waktu Anda yang efektif. Di mana saya mengalami masalah dengan salinan dan masa lalu adalah ketika orang malas melakukannya.


Saya baru saja menerima email dari seseorang yang mencoba membuat saya mendaftar ke seminar mereka. Itu adalah seseorang yang pernah saya temui di beberapa titik selama tahun lalu. Mereka memiliki nama saya dan memanggil saya dengan nama depan saya. Di sinilah saya berhenti membaca email.


Bagian dari email yang ditulis untuk saya secara pribadi ditulis dalam satu font dan email lainnya adalah font yang berbeda. Saya cukup yakin mereka mengirim banyak email dan hanya mengganti nama dan bagian pertama dari pesan tersebut. Saya tidak memiliki masalah dengan seseorang melakukan ini, tetapi jika Anda akan mengalami kesulitan mengirimkan semua email ini, setidaknya format semua teks Anda sama sehingga cocok.


Itu benar-benar mengalihkan perhatian saya dari pesan dan yang bisa saya lakukan hanyalah memikirkan betapa malasnya mereka. Saya memiliki contoh lain tentang seseorang yang meminta saya untuk mempekerjakan mereka. Mereka mengirimi saya surat lamaran yang jelas merupakan gabungan dari banyak surat dan dokumen. Penspasian tidak aktif, font tidak cocok, berantakan.


Mengapa seseorang mempertimbangkan untuk mempekerjakan seseorang terutama seorang desainer yang mengirim dokumen yang terlihat seperti itu. Jika Anda malas, jangan beritahu dunia bahwa Anda malas. Jika Anda ingin mengefisienkan waktu, berhati-hatilah agar tidak terlihat malas. Waktu yang mereka pikir mereka simpan sebenarnya tidak disimpan. Itu sebenarnya membuang-buang waktu karena setelah saya melihat surat lamaran itu, tidak mungkin saya mempertimbangkan untuk mempekerjakan mereka.


Secara umum diterima bahwa salin dan tempel pemrograman adalah ide yang buruk, tetapi apa cara terbaik untuk menangani situasi di mana Anda memiliki dua fungsi atau blok kode yang benar-benar perlu berbeda hanya dalam beberapa cara membuat generalisasi mereka menjadi sangat berantakan?


Bagaimana jika kodenya secara substansial sama, kecuali untuk beberapa variasi kecil, tetapi beberapa variasi kecil itu tidak mudah untuk difaktorkan melalui penambahan parameter, metode templat, atau sesuatu seperti itu?


Secara lebih umum, pernahkah Anda menghadapi situasi di mana Anda akan mengakui bahwa sedikit pengkodean salin dan tempel benar-benar dibenarkan. Tentu saja kadang-kadang dapat diterima. Itu sebabnya orang menyimpan file cuplikan. Tetapi jika Anda sangat sering memotong dan menempelkan kode, atau dengan lebih dari beberapa baris, Anda harus memikirkan untuk menjadikannya subrutin. Mengapa? karena kemungkinan besar Anda harus mengubah sesuatu, dan dengan cara ini, Anda hanya perlu mengubahnya sekali.


Kode yang baik adalah kode yang dapat digunakan kembali. Jangan menemukan kembali roda. Contoh ada karena suatu alasan: untuk membantu Anda belajar, dan idealnya kode lebih baik.


Tips dan trik copy – Paste ?


Haruskah Anda menyalin dan menempel? Siapa peduli! Yang penting adalah mengapa Anda menyalin dan menempel. Saya tidak mencoba untuk berfilsafat pada siapa pun di sini, tetapi mari kita pikirkan secara praktis: Apakah karena malas?


"Blah bla, saya pernah melakukan ini sebelumnya Saya hanya mengubah beberapa nama variabel selesai." 


Tidak masalah jika itu sudah kode yang bagus sebelum Anda menyalin dan menempelkannya. 


Jika tidak, Anda mengabadikan kode jelek karena kemalasan yang akan menggigit pantat Anda di jalan.


Apakah karena kamu tidak mengerti? "Sial.. saya tidak mengerti bagaimana fungsi itu bekerja, tapi saya ingin tahu apakah itu akan bekerja dalam kode saya.." Mungkin! Ini dapat menghemat waktu Anda di saat-saat ketika Anda stres bahwa Anda memiliki tenggat waktu pada jam 9 pagi dan Anda menatap jam sekitar jam 4 pagi dengan mata merah.


Apakah Anda akan memahami kode ini ketika Anda kembali ke sana?


Trik Jitu Copas ?


Bahkan jika Anda mengomentarinya? Tidak juga - setelah ribuan baris kode, jika Anda tidak mengerti apa yang dilakukan kode saat Anda menulisnya, bagaimana Anda akan mengerti kembali ke sana berminggu-minggu, berbulan-bulan kemudian?


Cobalah untuk mempelajarinya, terlepas dari semua godaan sebaliknya. Ketikkan, ini akan membantu memasukkannya ke memori. Setiap baris yang Anda ketik, tanyakan pada diri sendiri apa yang dilakukan baris tersebut dan bagaimana kontribusinya terhadap keseluruhan tujuan fungsi tersebut. Bahkan jika Anda tidak mempelajarinya luar dalam, Anda mungkin memiliki kesempatan untuk mengenalinya paling tidak ketika Anda kembali lagi nanti.


Jadi - menyalin dan menempelkan kode? Baik jika Anda menyadari implikasi dari apa yang Anda lakukan. Jika tidak? Jangan lakukan itu. Selain itu, pastikan Anda memiliki salinan lisensi dari setiap kode pihak ketiga yang Anda salin dan tempel. Tampaknya masuk akal, tetapi Anda akan terkejut betapa banyak orang yang tidak.


Dari segi desain, kode yang disalin-tempel tentu saja merupakan bencana, dengan potensi menimbulkan banyak masalah di masa mendatang.


Tetapi Anda bertanya mengapa Anda membutuhkan banyak pekerjaan saat ini,


jawabannya adalah:


Karena itu tidak pernah hanya menyalin dan menempel. Jika kode asli ditulis untuk digunakan kembali, sebagai perpustakaan yang cukup dan independen, dengan mempertimbangkannya fleksibilitas dan penggunaan klien - maka bagus, tapi itu bukan copy-paste, tapi itu menggunakan perpustakaan kode. Copy-paste kode asli biasanya lebih seperti ini:


"Tentu, saya sudah mendapatkan kode yang melakukan hal itu!"


"Tunggu, yang mana dari lima versi kode ini yang ingin saya gunakan sebagai sumber saya?"


"Hmmm, apa fungsi semua fungsi 'util_func_023' ini?


Bukankah saya mendokumentasikannya?


Yang mana yang saya perlukan sekarang?" "Oh, ya, kode ini menggunakan Basis Kode Y. Sepertinya saya harus [memilih satu: menyalin semua Basis Kode Y ke dalam proyek baru saya/menghabiskan satu hari untuk mengekstraksi satu fungsi yang saya inginkan dari Basis Kode Y/menghabiskan seminggu untuk melepaskan satu fungsi yang saya inginkan dari Basis Kode Y]."


"Aku menyalin semuanya, yay!"


"Mengapa 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-paling dapat berfungsi sebagai referensi yang baik untuk menulis kode serupa.


Ini tentu tidak dapat diangkat secara keseluruhan 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 membuat kode untuk memulai copas dengan cara yang memungkinkan semua penggunaan kembali dengan mudah, tanpa menyalin kode asli dan mengotak-atiknya. Itu layak dilakukan, dan jika itu yang diharapkan atasan Anda, maka Anda berdua harus memastikan bahwa itulah cara Anda mendesain dan bekerja sejak awal.