Memusatkan kode biasanya selalu merupakan ide yang bagus. Kita harus menggunakan kembali kode sebanyak mungkin.
Namun, penting untuk dicatat bagaimana melakukannya. Misalnya, ketika Anda memiliki kode yang melakukan compute_prime_number () atau check_if_packet_is_bad () itu bagus. Kemungkinannya adalah bahwa algoritma fungsi itu sendiri akan berkembang yang akan diuntungkan.
Namun, setiap bagian dari kode yang diulang sebagai prosa tidak memenuhi syarat untuk terpusat segera. Ini buruk. Anda dapat menyembunyikan baris kode sewenang-wenang di dalam suatu fungsi hanya untuk menyembunyikan kode, seiring waktu, ketika beberapa bagian aplikasi mulai digunakan, mereka semua harus tetap kompatibel dengan kebutuhan semua fungsi yang ada.
Inilah beberapa pertanyaan yang harus Anda tanyakan sebelum bertanya
Apakah fungsi yang Anda buat memiliki makna yang melekat sendiri atau hanya sekelompok garis?
Konteks lain mana yang akan membutuhkan penggunaan fungsi yang sama? Apakah Anda mungkin perlu sedikit menyamaratakan API sebelum menggunakan ini?
Apa yang akan menjadi harapan aplikasi (bagian yang berbeda dari) ketika Anda melemparkan pengecualian?
Apa skenario untuk melihat bahwa fungsi akan berkembang?
Anda juga harus memeriksa apakah sudah ada barang seperti ini. Saya telah melihat begitu banyak orang selalu cenderung mendefinisikan-ulang macro mereka MIN, MAX daripada mencari apa yang sudah ada.
Pada dasarnya, pertanyaannya adalah, "Apakah fungsi baru ini benar-benar layak untuk digunakan kembali atau ini hanya copy-paste ?" Jika itu yang pertama, itu baik untuk pergi.