Cara Ngoding dengan ‘Baik’
you should know it.
Halo semuanya, gua mau berbagi sedikit pengalaman terkait bagaimana tahapan supaya dapat ngoding dengan ‘baik’. Hal ini tentunya pendapat dari diri gua sendiri selaku mahasiswa Ilmu Komputer salah satu kampus di ibukota. Semoga dapat menambah referensi bagi kalian..
Oke langsung aja, kita ketahui bahwa kriteria ‘baik’ saat ngoding biasa ditentukan dengan kerapihan code yang kita tulis (clean code), efektivitas algoritma, dan alur programnya yang tidak bertele — tele. Penulisan yang baik saat ngoding mempermudah diri kita sendiri dan juga orang lain (sesama developer).
Supaya kodingan kita bisa dibaca oleh developer lain, ketika ada masanya kalian melakukan kolaborasi atau sekadar kontribusi dalam suatu project bersama. Ataupun ketika kalian kembali melihat kodingan kalian yang lama, maka kalian bisa membacanya kalau ditulis secara baik.
Harus Bisa Ngoding dengan Buruk
Nah, kenapa harus bisa ngoding dengan buruk?
Maksud dari mengapa kita harus bisa ngoding dengan buruk ialah, sebelum kodingan kita mencapai tahapan ‘good code’ kita haruslah melewati masa — masa ngoding dengan buruk, contoh buruknya seperti kebanyakan variabel yang seharusnya tidak perlu, dll. Gua pernah dengar seorang developer berkata terkait hal ini, parafrasenya seperti ini:
“Write Bad Code is the Prerequisite to Write Good Code”
Syarat bisa ngoding bagus ya harus bisa ngoding buruk dulu dong, gitu dah sekiranya. Kutipan di atas juga bisa dianalogikan dalam konteks lain, “kita tidak akan merasakan nikmatnya sehat, kalau tidak pernah sakit”. Yang berarti kalau mau tau betapa nikmatnya sehat ya syaratnya harus pernah sakit dulu, begitu kasarannya.
Yang ditekankan disini ialah tidak perlu terburu — buru untuk dapat menulis kode dengan baik, sampai — sampai kalian hanya terpaku supaya kodenya bagus dan efektif, lalu tidak bergerak untuk mengerjakan problem coding yang lain.
Alangkah baiknya kalau kita membuat kode sebisa kita dengan gaya penulisan kita terlebih dahulu, urusan ‘good code’ atau tidaknya nanti kalian juga akan berproses untuk sampai ke titik itu. Seiring dengan kalian ngoding hal — hal lain. Setelah ini ada sebuah analogi yang berupa cerita terkait hal ini:
Ada cerita tentang guru dan murid di sebuah kelas melukis. Gurunya berkata untuk penilaian akhir akan dibagi dua cara. Cara pertama, muridnya boleh hanya melukis 1 lukisan terbaik yang bisa muridnya lukis dan dikumpulkan di akhir semester. Cara kedua, muridnya diminta untuk melukis seminimal 30 lukisan dan dikumpulkan di akhir semester. Setelah tiba pada akhir semester, terdapat perbedaan yang sangat signifikan antara kedua cara yang ditawarkan oleh gurunya. Murid yang memilih cara kedua dengan melukis minimal 30 lukisan mengalami perkembangan kualitas lukisan yang sangat baik dibandingkan yang memilih cara pertama walaupun hanya melukis satu lukisan dengan sebaik — baiknya.
Menemukan Best Practice bagi Diri Kalian
Latihan terbaik bagi kalian belum tentu sama dengan orang lain. Bisa aja orang lain bilang yang terbaik itu ya harus ngoding malem, minum kopi, sambil dengerin musik instrumental. Bisa aja kalian lebih suka kalau ngoding di pagi hari, minum teh, dan mendengarkan musik jazz.
Oleh karena itu, ketika kalian googling bagaimana latihan terbaik dari para developer, hal itu kalian jadikan referensi dan coba praktekan. Kalau cocok dengan habit kalian maka latihan itu bisa kalian terus terapkan.
Jangan selalu menaruh standar yang sama dengan orang lain dalam belajar. Kita ini manusia unik, tidak selalu yang orang lain lakukan itu cocok bagi kita, dan juga sebaliknya.
Kalau dari gua sendiri sih ya, waktu ngoding itu fleksibel tapi lebih nyaman saat malam. Kalaupun tidak malam juga tidak apa — apa asal kondisi sekitar tenang dan nyaman.
Dan juga ketika mulai masuk topik baru dalam programming, terlebih dahulu membaca atau menonton lecture terkait. Pahami dengan baik, kalau perlu lakukan review ulang dengan bahasa kalian sendiri, setelah selesai membaca atau menonton materinya. Saat sudah mumet ngoding, bisa berhenti dulu sejenak, biasanya main game atau sekadar buka YouTube.
Penutup
Yaa sekian sesi berbagi terkait ngoding. Ingat ya artikel ini tetaplah opini pribadi dan gua juga masih berusaha untuk memperbaiki setiap kodingan yang dibuat. Apabila kalian menemukan tahapan yang lebih cocok bagi diri kalian. Silahkan saja terapkan hal itu. Terima kasih..
Peace Out..