Dalam dunia pengembangan perangkat lunak, sering kali developer dihadapkan pada situasi di mana deadline ketat harus dipenuhi, sementara fitur yang kompleks tetap harus segera selesai. Kondisi ini kerap memaksa developer untuk mengambil jalan pintas dalam penulisan kode, seperti mengorbankan clean code, efisiensi, atau skalabilitas demi mengejar target waktu.
Namun, setelah tekanan deadline mereda dan ada waktu luang, developer yang bertanggung jawab akan kembali ke kode tersebut untuk melakukan perbaikan dan optimasi. Proses ini dikenal sebagai "membayar hutang teknis." Dengan kata lain, developer mengambil kesempatan untuk merapikan, menyempurnakan, dan mengoptimalkan kode agar lebih mudah dipelihara dan memiliki performa yang lebih baik di masa depan.
Memperbaiki dan Mengoptimalkan Kode
Salah satu contoh nyata dari pembayaran hutang teknis dapat ditemukan dalam pengembangan proyek FAMOUS yang sedang saya kerjakan, sebuah sistem manajemen armada dan hauling. Pada proyek ini, saya, Yanuar dan Amir melakukan rewrite dan optimasi pada dua fitur utama: Live Streaming Truck dan Peta Heatmap.
Live Streaming Truck:
- Sebelumnya, fitur ini mengonsumsi banyak memori karena setiap sesi streaming menangani data video dalam ukuran besar tanpa optimasi. Hal ini menyebabkan lonjakan penggunaan sumber daya server dan latensi yang mengganggu pengalaman pengguna.
- Setelah dilakukan optimasi, penggunaan memori berhasil dikurangi secara signifikan dengan menerapkan teknik buffering yang lebih efisien dan mengurangi overhead jaringan. Hasilnya, streaming menjadi lebih lancar dan responsif.
Sebelum Rewrite fitur Live Streaming memiliki lebih dari 1000 baris kode, hampir semua logic live streaming di kelola di front end
Setelah Rewrite fitur Live Streaming kini hanya memiliki 130 baris kode, hal ini bisa dicapai dengan penerapan clean code dan sebagian besar logic dikerjakan di backend
Peta Heatmap:
- Fitur ini awalnya mengalami performa yang kurang optimal saat menampilkan titik-titik kepadatan lalu lintas dalam jumlah besar. Penyebab utamanya adalah cara pemrosesan data yang kurang efisien, di mana setiap perubahan data memicu render ulang seluruh peta.
- Setelah dilakukan perbaikan, penerapan marker clustering, algoritma pemrosesan data dioptimalkan dengan pendekatan lazy loading dan penggunaan teknik agregasi data sebelum dirender. Dengan demikian, performa meningkat drastis dan tampilan heatmap menjadi lebih responsif.
Sebelum Rewrite fitur Heatmap memiliki lebih dari 900 baris kode, kode ini tentu akan sulit dikelola di masa depan
Setelah Rewrite fitur Heatmap kini baris kode hanya kurang dari 300 baris
Melalui proses rewrite dan optimasi ini, performa aplikasi meningkat, konsumsi sumber daya lebih efisien, dan pengalaman pengguna menjadi lebih baik.
Kesimpulan
Membayar hutang teknis adalah langkah penting dalam pengembangan perangkat lunak. Meskipun terkadang developer harus mengambil jalan pintas untuk memenuhi deadline, mereka tetap harus menyisihkan waktu untuk melakukan optimasi dan penyempurnaan kode. Dengan demikian, aplikasi tidak hanya berjalan lebih efisien tetapi juga lebih mudah dipelihara di masa depan.
Dalam proyek FAMOUS, optimasi pada fitur Live Streaming Truck dan Peta Heatmap membuktikan bahwa membayar hutang teknis dapat membawa dampak besar terhadap performa dan stabilitas aplikasi. Oleh karena itu, setiap developer harus berkomitmen untuk terus melakukan perbaikan dan tidak membiarkan hutang teknis menumpuk hingga menjadi beban yang lebih sulit diselesaikan di kemudian hari.
Terima kasih sudah mampir di artikel keren saya. Semoga bermanfaat!
Top comments (1)
first