Abstraksi dan Konkretisasi
Categories:
Baru-baru ini saya mengerjakan alat pemanen data untuk situs web gambar dan mendapatkan banyak pengalaman. Saya dengan cepat mengimplementasikan prototipe awal, kemudian ingin membuatnya lebih umum dan abstrak, tetapi saya terus-menerus melakukan refactoring. Saya terus-menerus memulai dari awal, menghabiskan banyak waktu, dan perangkat lunak tampaknya berkembang, tetapi fungsionalitasnya tidak meningkat, yang membuat saya merasa frustrasi.
Jika kita bisa menentukan cara terbaik sejak awal, mungkin kita bisa menghindari banyak kesalahan, tetapi terus-menerus melakukan abstraksi tanpa batas dapat menyebabkan kita terjebak dalam perangkap desain berlebihan, di mana kita menghabiskan setengah bulan tanpa bisa membuat prototipe dengan fungsi dasar. Dalam era di mana kita mengejar hasil instan, ini adalah kesalahan besar.
Adaptasi dan fungsionalitas perangkat lunak harus berkembang secara bertahap dan saling melengkapi, seperti Roma yang tidak dibangun dalam sehari. Dengan menetapkan tujuan kecil setiap hari, perlahan-lahan kita akan memiliki pohon yang kuat dan sehat.