Abstrak dan Konkret
Categories:
Belakangan ini saya sedang membuat alat web scraper untuk situs gambar, dan saya mendapat banyak wawasan. Saya dengan cepat membuat purwarupa, kemudian ingin membuatnya memiliki kemampuan umum yang lebih luas, yaitu abstraksi, namun saya menyadari bahwa saya terus melakukan refactoring. Terus mengulang dari awal, membuang banyak waktu, perangkat lunaknya tampak berkembang, namun fungsionalitasnya tidak bertambah, yang cukup membuat saya frustrasi.
Jika sejak awal cara penulisan yang optimal sudah jelas, mungkin kita bisa mengambil jalan yang lebih lurus. Namun, jika terus mengabstraksi tanpa henti, tanpa ujungnya, kita mudah terperosok ke dalam perangkap over-engineering, yaitu menulis selama setengah bulan namun tidak bisa menghasilkan purwarupa dengan fungsi dasar pun. Di masa kini yang mengejar hasil instan, ini adalah pantangan besar.
Daya adaptasi dan fungsionalitas perangkat lunak harus berevolusi secara bertahap bersama-sama, Roma tidak dibangun dalam sehari. Setiap hari satu target kecil, perlahan-lahan akhirnya akan tumbuh menjadi pohon yang besar dan kuat.