Saya menggunakan fungsi sebagian sebagai cara untuk mendokumentasikan kode. Memanggil fungsi dengan nama yang berarti membuatnya lebih mudah untuk memahami kode. Dalam beberapa kasus, bahkan fungsi dengan satu baris pun masuk akal.
Misalnya, dalam "Kode Bersih", Robert C. Martin memberikan contoh berikut: Yang mana yang lebih Anda sukai? Ini:
// Check to see if the employee is eligible for full benefits
if ((employee.flags & HOURLY_FLAG) &&
(employee.age > 65))
Atau ini?
if (employee.isEligibleForFullBenefits())
Saya tidak selalu setuju dengannya, tetapi dalam hal ini saya setuju. Kode harus dapat dibaca, tidak hanya ketika Anda menulisnya dan Anda tahu setiap detailnya, tetapi juga pada jam 9 malam ketika Anda harus memperbaiki bug dalam kode orang lain. Menatap kondisi yang panjang dan mencoba mencari tahu semua negatif ganda tidak dianjurkan. Jika Anda bisa menuliskan nama saja (tidak hanya syarat, tapi setiap kode yang Anda tulis), itu menjadi jauh lebih sederhana.
Saya tidak pernah menyesal memasukkan sesuatu ke dalam fungsi, dan jika Anda khawatir tentang kinerja, maka profillah terlebih dahulu.