System Init
0%
LOADING_ASSETSv2.0.26
blogs/refactoring-hidup--menerapkan-prinsip-dry--don-t-repeat-yourself
//Khay
Read in English

Refactoring Hidup: Menerapkan Prinsip DRY (Don't Repeat Yourself)

LifeProgrammingHabits

Kemaren gue ngeliat temen sekosan gue uring-uringan nyari kunci motor buat yang ke-10 kalinya di minggu ini. Padahal minggu kemaren dia udah nyariin berjam-jam sampe telat ngampus. Minggu depannya lagi, gue yakin dia bakal nyari tu kunci lagi.

Sebagai orang yang menjunjung tinggi efisiensi, ngeliat kejadian kayak gitu tuh bikin gue ngerasa gatel banget. Itu tuh ibarat ngeliat kode yang berulang-ulang di berbagai file berbeda tanpa pernah dibikin jadi satu function terpusat. Dalam dunia software engineering, penyakit kayak gini melanggar prinsip paling suci: DRY alias Don't Repeat Yourself.

Konsep DRY itu sederhana: tiap potongan pengetahuan atau logika cuma boleh punya satu representasi yang jelas dan otoritatif di dalam sebuah sistem. Kalau lu butuh logika itu di tempat lain, panggil fungsinya, jangan copas kodenya. Kenapa? Karena kalau logikanya salah, lu cuma perlu benerin di satu tempat. Bayangin kalo lu copas kode ke 50 file, terus ada bug. Lu harus benerin 50 file itu satu-satu. Pegel kan?

Nah, masalahnya banyak orang yang nggak sadar kalo mereka itu lagi jalanin hidup mereka pake prinsip WET (Write Everything Twice) atau malah "We Enjoy Typing". Mereka ngelakuin rutinitas yang sama, bikin kesalahan yang sama, ngeluhin hal yang sama, berulang-ulang, tanpa pernah mikir buat bikin sistem yang bisa nyelesaiin masalah itu secara permanen.

Balik ke temen gue yang nyari kunci. Alih-alih meratapi nasib tiap kali kuncinya ilang, kenapa dia nggak nge-refactor habit dia aja?

Solusinya gampang banget: beli cantolan kunci harga 5 ribu di warung, paku di deket pintu. Bikin rule di otak: tiap masuk kamar, kunci harus dicantolin di situ. O(1) time complexity. Nggak perlu lagi algoritma O(n) buat nyari-nyari ke kolong kasur, dalem sepatu, atau saku jaket kemaren.

Ini tuh namanya automasi. Automasi bukan berarti lu harus pake robot atau AI canggih. Automasi adalah ketika lu bikin sistem sekali, dan sistem itu bekerja buat ngilangin friction atau gesekan di masa depan.

Gue juga nerapin ini di hal lain. Dulu gue sering pusing milih baju apa yang mau dipake ke kampus. Itu makan waktu dan energi mental (decision fatigue). Akhirnya gue nerapin sistem modular: beli kaos polos item sama abu-abu yang banyak, celana jeans dua biji, jaket satu. Selesai. Gue nulis algoritma "ambil baju paling atas di lemari" dan jalanin itu tiap pagi. Waktu mikir gue berkurang drastis, energi otak gue bisa gue alokasiin buat mikirin hal lain yang lebih penting, kayak ngerjain bug di kodingan gue atau nyari tau kenapa cewek tiba-tiba ngambek padahal kita nggak ngapa-ngapain.

Hal yang sama berlaku di hubungan percintaan. Lu jadian, berantem gara-gara komunikasi kurang, putus. Jadian lagi sama orang baru, berantem dengan pola yang sama, putus lagi. Itu kode lu yang salah, bro. Lu belum nge-refactor root cause-nya, tapi lu udah nyoba nge-deploy project baru pake framework yang beda. Ya pantes aja tetep error.

Mulai sekarang, cobain deh audit hidup lu. Cari mana bagian-bagian yang lu ulang-ulang terus dan bikin capek. Lu sering lupa bayar tagihan? Setel autodebet. Lu sering lupa minum air putih? Beli botol gede 2 liter, taro di sebelah laptop. Lu capek ngerjain tugas numpuk di akhir? Pake time-blocking.

Jangan mau diperbudak sama rutinitas buruk lu sendiri. Bangun sistem, automasi kebiasaan, lalu rebahan dengan tenang.

  • Khay