Saya selalu menemukan diri saya berpikir tentang penggunaan kembali kode ketika memulai proyek baru.
Sejauh mana saya harus membuat kode saya dapat digunakan kembali?
Haruskah saya membatasi itu pada lingkup aplikasi atau haruskah saya membuatnya dapat digunakan kembali di luar proyek?
Terkadang, saya merasa kode dapat digunakan kembali mungkin menghalangi desain yang sederhana. Tolong, bagikan pemahaman Anda sendiri dan pendekatan penggunaan kembali kode.
refactoring
code-reuse
Lamin Sanneh
sumber
sumber
Jawaban:
Kode harus berfungsi sebelum dapat digunakan kembali. Sehingga menyiratkan desain dan fungsi (utama) harus datang sebelum pertimbangan penggunaan kembali kode.
Adalah baik untuk memikirkan penggunaan kembali, dan menggunakan kembali komponen yang sudah Anda tulis. Tetapi kadang-kadang bisa sama cepat, jika tidak lebih cepat, hanya untuk menulis kode dan membuatnya bekerja. Setelah Anda menyelesaikan masalah aslinya, Anda bisa memperbaiki kode untuk membuatnya lebih dapat digunakan kembali.
sumber
Ingat KISS dan YAGNI:
Kode
re-usability better to be considered
begitu Anda memiliki dokumen desain Anda siap . Ini akan memungkinkan Anda untuk melihat bagian / bagian kode yang berpotensi digandakan.Jadi, ketika Anda tidak memiliki desain yang jelas maka terapkan pendekatan KISS dan YAGNI dalam pekerjaan Anda!
sumber
Ini dari pengalaman saya, tetapi masih percaya itu bisa diterapkan dan sejalan dengan apa yang GlenH7 sebutkan.
Saya bekerja di antara 3 perusahaan yang melakukan berbagai proyek. Perusahaan adalah saudara satu sama lain dengan beberapa praktik standar dan metodologi kerja, tetapi juga unik dalam banyak hal. Dengan itu, saya biasanya memulai setiap proyek baru dan ingin menyelesaikannya atau menunjukkan kemajuan. Kemudian jika saya menjalankan skenario di mana saya ingat sepotong kode atau fungsi yang saya tulis untuk proyek sebelumnya, saya akan melakukan salah satu dari dua hal (tergantung waktu):
Salin kode sebelumnya dari proyek lain (tidak punya banyak waktu) ke proyek saya saat ini.
Metode Kedua Tercepat
Salin kode sebelumnya dan letakkan di perpustakaan umum, kemudian sertakan perpustakaan itu dalam proyek saat ini (untuk membuat bergerak maju lebih mudah).
2b. Jika saya melakukan perubahan pada proyek (asli) lainnya, saya akan menolaknya untuk menggunakan perpustakaan baru [tetapi umumnya tidak akan melakukannya kecuali saya harus menyentuh kembali proyek itu].
Hanya diperingatkan, uji coba keluar dari perpustakaan umum. Perpustakaan umum berarti menciptakan dependensi. Ketergantungan menciptakan titik kegagalan. Meskipun Anda mungkin perlu sesuatu yang sedikit diubah untuk implementasi Anda saat ini, Anda tidak tahu bagaimana itu akan mengubah hal lain menggunakan perpustakaan itu.
sumber
Terkadang saya menemukan bahwa menyalin & menempel beberapa baris kode adalah solusi yang lebih baik. Bahkan dalam bahasa manusia, ketika Anda ingin mengucapkan kalimat yang Anda katakan sebelumnya hanya dengan sedikit variasi, Anda akan mengulanginya dengan variasi, karena itu membuat lebih sedikit masalah bagi siapa pun.
Namun, jika modul besar Anda perlu digunakan dengan cara yang sedikit berbeda yang tidak didukung, jangan mengkloningnya hanya untuk memodifikasi beberapa baris karena sangat mungkin Anda ingin memperluas fungsionalitas yang menjadi basis dan basisnya. clone share di masa depan. Sebagai gantinya, cukup buat konfigurasi atau ekspor fungsionalitas yang dimiliki oleh basis dan klon ke modul lain yang akan mereka gunakan.
sumber
Jangan berlebihan. Dan jika Anda tidak yakin, pertahankan cakupan aplikasi hingga Anda menulis cukup banyak proyek untuk melihat di mana Anda dapat menggunakan kembali apa.
sumber