Sayang, Jangan Salahkan Dia, Salahkan Aku!

Posted: January 6, 2008 in ノート, Catatan Tercecer, RUBY, Ruby on Rails, Technology

Skenario 1

MonyetDuduk:

Beuh, padahal uda gw kasi semua trus uda bener semua tu koding gw kenapa pas pagingnya masi error ya?! tu variabel gw yakin variabel hantu deh, masak bisa bisanya nongol sendirian di view situ sendiri, aneh kan?!

MonyetJongkok:

O_o Wah! aneh bin ajaib itu! lu pake ruby sih!! coba pake $#@%^ (disensor:nyebut-nyebut sesama makhluk bahasa bangsa primitif lain)

Mata Jenik Dibalik Layar Coding Skenario 1

padahal emang MonyetDuduk aja yang nggak teliti, dia kan sebetulnya sudah meng-assign satu instant object variable sewaktu di controller, trus karena di satu metode di controller punya dia segede gambreng ampe’ 10 baris trus dia panik sendiri, dikiranya ada variabel hantu bisa nongol sendiri di View.

Hikmah pelajaran yang bisa diambil:

Coba teliti dulu, jangan asal menyalahkan dan langsung mengalihkan ke lain topik deh, camkan dalam hatimu: Sayang, Jangan Salahkan Dia, Jangan Salahkan Ruby! Salahkan Aku!

Skenario 2

Ada proyek Ruby on Rails yang telah berjalan selama 3 bulan, ketika sudah mendekati hari H aplikasi ini rilis, si Developer tetap terus saja selalu serius untuk menyelesaikan implementasi fitur-fitur baru di aplikasi tsb, trus datanglah sang Desainer (yang seharusnya banyak sekali di banyak company pasangan-pasangan tiap tiap team ini seharusnya solid bak suami istri yang bahagia menjalani pahit manis asam garam bahtera rumah tangga. cjrit!)

Tanya sang desainer, “Kenapa ya kok ini kalo gw dari URL ini pas gw ngelakuin proses POST ke URL ini kadang bisa muncul kadang bisa nggak pesan kayak gini nih : HashWithIndifferentAccess

Developer yang ditanya menjadi terdiam sembari mengingat-ingat kembali bugs itu kok bisa gitu ya, seingat dia padahal emang udah beres deh, kenapa masih gitu. Dia terus berpikir dan mengintrospeksi diri tanpa ingin menyalahkan siapa pun juga dan tetap fokus dengan aplikasi yang sudah ditulisnya itu. Dia berpikir dari sisi spec model sudah bener (yang telah lulus sensor failure NOL dan sukses sebesar 50). dari spec controller juga sudah bener (yang telah lulus sensor sebesar NOL dan sukses sebesar 20). dari view? aduh lalu dia mencoba guling-guling (baca: googling, sering dipake si penulis karena malas ngetik!) dari guling guling itu dia sampai kesini trus kesini dan kesini sambil dibukanya tab demi tab baru di browsernya itu. beuh, makin nggak fokus aja dia. sambil dibacanya satu per satu tulisan itu. dia juga ke dokumentasi manual disini sambil terus bertanya-tanya kenapakah gerangan yang menyebabkan zombie HashWithIndifferentAccess itu nongol. Nggak mungkin dia nongol sendiri! Nggak mungkin dia bisa ada sendiri disana tanpa sebab sama sekali, pasti ada penyebabnya! Dia coba cari di controller file betulan, dilihatnya dengan teliti baris demi baris di satu action method yang bersangkutan dengan proses POST itu aja, beuh kok nggak ada yang aneh, trus pas dilihatnya di view, nah baru teringatlah dia tatkala dahulu kala berkisar awal awal aplikasi ini dibangun dia kurang teliti bila menggunakan rspec bukan sebelum menulis kode dia betulan, tetapi sesudah menulis kode dia. Jadi dia dulu kurang disiplin. Terlihatlah oleh dia ada view create disana dan berisi:

= debug(params[:hot_chick].class) 

lalu ditambahkannyalah satu tanda hash (pagar) setelah tanda persen dan dicobanya debug lagi dan SUKSES!

Fuhh! lega tapi kesal! bodohnya masak cuma gitu aja prosesnya bisa lama lama, dari cek and recek rspec, trus guling2x 3 jam, trus liat file (1/2 jam) eh baru ketemu. Itulah akibat dari tidak disiplin!

Makanya hikmah pelajaran yang bisa diambil: Berdisiplinlah ketika hendak menulis codes apapun itu. Selalu tulis rspec di awal permulaan sekali, tentukan dengan bahasa manusia / bahasanya orang bisnis, bukan bahasa koding bahwa spesifikasi yang diminta itu gimana ditulis dengan jelas dulu disana. Nah, setelah sudah jelas sama sekali rspec nya, baru mulai koding sesuai berdasarkan spesifikasi yang sudah ditulis di rspec. Kemudian kalau masih belum puas karena develop suatu aplikasi tanpa melihat browser sama sekali. Yakinkan kalau debug suatu proses setelah berhasil harus langsung segera dihapus dan jangan ditunda-tunda lagi. Bikin catatan terpisah (misalnya di google.com/notebook atau di catatan diary masing-masing atau bisa juga di blognya sendiri) mengenai hasil debug tsb telah berhasil di file apa aja dan berkaitan dengan rspec yang mana aja untuk membuktikan keberhasilan bahwa code code yang ada di file apa aja itu semua sudah sukses 100% dan bersih dari bugs! Camkan dalam hatimu: Sayang, Jangan Salahkan Dia, Jangan Salahkan Ruby! Salahkan Aku!

tinggalkan feedback konstruktif atau lebih baik diam

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s