Tampaknya lebih mudah untuk menjadi generik dalam yang kecil, yaitu jangan membuat kelas untuk menangani tabel pencarian yang memetakan bilangan bulat ke string ketika Anda bisa membuat kelas kamus yang wajar yang menangani setiap jenis pasangan (di mana jenis pertama mendukung beberapa jenis perbandingan).
Dalam kehidupan sebelumnya, saya melakukan banyak proyek otomasi industri untuk permesinan yang menangani jaring material yang berkelanjutan. Baja, aluminium, kertas, plastik, .... Anda membuka gulungannya di satu ujung dan menggulungnya lagi di sisi lain setelah melakukan sesuatu yang berguna di tengah. Dalam satu industri Anda mulai di "gulungan hasil", bukan "unwinder". Jika Anda menggunakan terminologi yang salah, maka Anda idiot di mata klien bernilai jutaan dolar. Anda akan kagum pada betapa sedikit yang bisa diabstraksikan untuk digunakan kembali dari satu proyek ke proyek berikutnya. OTOH, orang bisa sering membuat kerangka kerja atau templat sebagai titik awal. Ini akan disesuaikan untuk pekerjaan yang sedang dilakukan, tetapi setidaknya memiliki manfaat belajar dari proyek sebelumnya. Dan semua orang di tim tahu dari mana kami memulai.