Standard Koding Software Developer (Part 1)

By November 29, 2016Indonesia, Programmer

Hi Guys,
Kebetulan gw baru menyempatkan diri untuk menulis kembali karena memang gw sendiri sedang banyak pekerjaan dan literatur yang gw baca. Nah, salah satu literatur yang gw baca kali ini adalah mengenai clean code.

Clean code adalah salah satu literatur yang mengajarkan mengenai bagaimana kita dapat melakukan koding secara baik dan benar. Kenapa koding yang ‘bersih’ itu penting? Karena pada dasarnya development sebuah software akan berjalan terus dan tidak mungkin hanya satu developer yang mengerjakannya karena dalam software development dibutuhkan lah sebuah tim yang saling bekerja sama untuk menyelesaikan rangkaian kode yang bisa dideliver dalam bentuk produk yang dapat digunakan untuk bisnis sehingga dapat menghasilkan profit.

Pada pembahasan kali ini, mungkin saya akan lebih banyak membahas clean code dengan menggunakan best practice dari php karena saya adalah seorang php developer :). Seperti yang kita ketahui bahwa php developer sekarang ini jumlahnya sangat banyak di Indonesia. Tetapi, mungkin hanya sedikit yang memahami bagaimana membuat koding yang elegant. Btw mereka yang biasa bilang kodingnya elegant adalah pengguna laravel karena konsep artisannya (hehe bukan nyindir ya). Sesungguhnya sah-sah saja bilang begitu karena memang secara struktur dan konsep pemrograman laravel itu memang bagus (menurut pendapat saya).
Untuk intermezzo mungkin cukup sekian, yuk mari belajar bagaimana cara membuat koding yang baik dan benar. Nah yang kita bahasa pertama adalah mengenai penamaan atau naming.

Semua orang pasti punya nama, bahkan dalam koding sekalipun kita juga memberikan nama pada variable, function, class dan berbagai hal lainnya. Nah oleh karena nama itu penting, maka dibuatlah peraturan sederhana yang memudahkan kita dalam ngoding. Berikut aturannya.

  1. Pergunakan nama secara jelas.
    Hmm. ya kalau memang buat sebuah variable harusnya jelas ya. Ya tapi ternyata ga semua orang mengerti hal tersebut. Contoh waktu gw masi kuliah gw cuma bisa buat variable a, b, c. Gatw deh untuk apa variable tersebut, yang penting bisa gw pake. Mungkin itu dulu ga masalah karena setelah dikerjakan ga dipake lagi, tapi ketika sudah bekerja itu berbeda. Kita harus bisa membaca koding yang kita buat dari awal jika memang terjadi bug. Contohnya sebagai berikut.$a = 7; // Jumlah hari dalam semingguUntuk bisa mengerti arti variable tersebut maka kita harus membaca komen terlebih dahulu, sungguh tidak catchy klw anak zaman sekarang istilahnya. Kenapa tidak diganti seperti ini.$sumDaysInWeek = 7;
    Lebih mudah kan untuk dibaca dan dimengerti kan?
  2. Hindari kesalahan misinformasi.
    Apa sih maksudnya misinformasi disini? Jadi sering programmer salah memberikan nama variable karena ingin membuat namanya mudah dipahami. Hal ini kadang membuat bingung programmer yang lain. Contohnya seperti membuat sebuah variable bernama $userObjectFetch untuk mengambil data dari api facebook, linkedin dan twitter. Ternyata setelah dicek, hanya linkedin dan twitter yang setelah di fetch dari api menghasilkan data dalam bentuk object sedangkan untuk facebook dalam bentuk array. Daripada menggunakan variable bernama $userObjectFetch lebih baik menggunakan $userFetchData atau $userData atau $userApiFetch karena memang isinya tidak cuma berupa object.
  3. Membuat perbedaan bendahara kata yang bermakna.
    Bendahara kata dalam membuat variable/function/method sebenarnya sangat banyak. Kadang bendahara kata tersebut malah membuat ambigu karena maksudnya tidak jelas. Nama-nama variable/function/method yang kita buat kadang malah membuat kita bingung mana yang harus kita pakai. Sebagai contoh ketika terdapat 2 orang yang koding bersama dan membuat function customerInfo() dan customerData(). Bagaimana jika ada programmer yang lain yang mau mengambil data customer. Mana function yang harus digunakan? Kata kunci untuk masalah ini adalah ‘noise word’. Sebaiknya hindari noise word karena sifatnya redundant dan tidak mewakilkan pemisahan antara satu variable/function/method.
  4. Gunakan kata yang mudah diucapkan.
    Pada dasarnya ngoding adalah sebuah aktivitas sosial. Kadang kalau lagi istirahat beberapa programmer di kantor (masi ngobrolin kerjaan) suka bingung menyebut function yang namanya kadang out of mind dan tidak ada niatan untuk mengganti nama function tersebut untuk nama yang lebih baik. Contohnya seperti kalau mau buat timestamp pake fungsi gdt aja ya. Waduh fungsi apaan itu? ya itu fungsi untuk buat timestamp. Kenapa tidak diganti jadi generateTimestamp() saja. Lebih enak kan kalau buat ngobrol. Bro tolong pake fungsi generateTimestamp() ya kalau mau buat timestamp.
  5. Gunakan nama yang mudah dicari.
    Menggunakan variable yang terlalu pendek menyulitkan kita ketika ingin mencari variable tersebut dalam suatu dokumen. Contoh $a = 1; Sulit bukan mencarinya untuk di sebuah dokumen. Terlebih lagi jika dokumen tersebut berisi ribuan line of code atau bahkan puluhan ribu. Bagaimana jika diganti $maxNumberOfCustomer ? Lebih mudah dicari kan? Tetapi penggunaan variable singkat tersebut tetap useful untuk short methods yang hanya memerlukan local variable seperti dalam looping.
  6. Penamaan Class.
    Mungkin ini sudah diajarkan berkali-kali pada saat kuliah, kursus dan berbagai tutorial di web. Bahwa nama class menggunakan kata benda (noun) seperti customer, user dan kata benda jenis lainnya. Hindari penggunaan kata kerja.
  7. Penamaan Method/Function.
    Yang ini juga sama, sudah diajarkan berkali-kali saat kuliah, Untuk penamaan method/function menggunakan kata kerja seperti save, deleteCustomer, doPayment dan lain-lain. Berbalik dengan Class, hindari penggunaan kata benda.

Demikian sedikit ringkasan untuk naming variable, function dan class. Sebenarnya masih ada beberapa lagi, namun menurut saya apa yang ditulis sudah cukup untuk membuat koding kita ke arah lebih baik. Semangat terus programmer untuk tetap ngoding hehe.

Leave a Reply