Debugging Hubungan Sosial: Menghapus Dead Code
Kemaren gue ngeliat temen gue nangis-nangis di pojokan kampus gara-gara berantem sama circle pertemanannya yang udah jelas-jelas toxic. Dia ngerasa sayang buat ninggalin mereka karena alesan klasik: udah temenan dari jaman maba.
Gue dengerin aja ceritanya sampe beres, terus gue nanya, lu tau nggak bedanya hubungan sosial lu sama aplikasi yang sering crash? Jawabannya: aplikasi yang crash itu biasanya kebanyakan numpuk memori yang udah nggak kepake.
Ini yang di dunia programming disebut sebagai dead code atau memory leak. Kode yang sebenernya udah nggak ada fungsinya, tapi lu tetep simpen karena lu males hapusnya. Takut ngerusak fungsi lain lah, sayang karena nulisnya susah lah. Sama persis kayak lu yang nyimpen temen toxic cuma karena kalian punya memori bareng jaman ospek. Padahal tuh temen tiap hari kerjaannya cuma nyedot energi lu doang tanpa pernah ngasih return value yang positif.
Dalam ilmu komputer, kita punya mekanisme yang namanya Garbage Collection (GC). Tugasnya simpel: nyari objek di memori yang udah nggak ada referensinya dari program utama, terus dihapus biar ruang memori bisa dipake buat proses lain yang lebih penting.
Sayangnya, otak manusia nggak punya GC otomatis. Kita harus jalanin script penghapusan ini secara manual. Dan ini yang bikin banyak orang stres. Mereka ngerasa nge-cut orang itu jahat. Padahal kalo lu mikir pake logika sistem, nge-cut orang yang udah nggak sejalan sama visi lu itu bukan jahat. Itu namanya optimasi.
Gimana cara tau temen mana yang masuk kategori dead code?
Sederhana banget. Coba lu tracing semua interaksi lu sama dia sebulan terakhir. Berapa kali dia ngasih support pas lu down? Berapa kali dia cuma muncul pas lagi butuh minjem duit atau numpang ngerjain tugas? Kalo rasio input-output-nya jomplang banget, dan kehadiran dia malah naikin CPU usage emosi lu, selamat, dia adalah dead code.
Terus gimana cara hapusnya tanpa drama?
Gampang. Jangan langsung lu delete database-nya (baca: ngeblok semua sosmed sambil marah-marah). Itu terlalu agresif dan malah bisa nimbulin error baru di sistem sosial lu.
Cukup pake metode deprecation. Pelan-pelan lu kasih warning kalo lu lagi sibuk. Kurangin frekuensi bales chat dari yang tadinya real-time jadi butuh latency beberapa jam. Kalo dia ngajak nongkrong, kasih alasan lu lagi fokus ngerjain project. Lama-lama, connection timeout bakal kejadian secara natural. Dia bakal nyari server lain yang mau nerima request dia, dan lu bisa pake memori lu buat hal lain yang lebih berguna, kayak tidur siang atau belajar machine learning.
Jadi stop ngerasa bersalah karena lu ninggalin temen yang toxic. Lu berhak punya lingkungan yang clean architecture. Pertemanan itu harusnya kayak dependency injection, lu milih sendiri modul mana yang mau lu masukin ke idup lu biar sistem lu jalan mulus.
Jangan sampe idup lu crash cuma gara-gara lu males ngehapus satu baris kode rongsok.