Gaya Ngoding. Apa, Mengapa dan Bagaimana?

image

Code Artisan

Tempo lalu, saya membuat survei apakah gaya ngoding (coding style) itu penting dalam dunia pekerjaan dan diterapkan oleh tim atau individu.

image

Survei gaya ngoding di Facebook. Hasilnya 78% ya dan 22 % tidak.

image

Survei gaya ngoding di Twitter. Hasilnya 71% ya dan 29% tidak.

image

Survei gaya ngoding di Instagram story. Hasilnya 89% ya dan 11% tidak.

Hasilnya ada yang pro dan kontra. Lantas apa itu gaya ngoding? Mengapa dia penting? Bagaimana cara mengimplementasikannya? > Gaya ngoding menurut pemahaman saya pribadi adalah sebuah seni untuk membuat kode kita lebih rapi, cantik dan mudah dibaca bahkan dipahami oleh manusia.

Mengapa dikatakan sebuah seni dan mudah dibaca bahkan dipahami oleh manusia?

  1. Mengetik kode ke dalam komputer itu ibarat Anda sedang melukis wajah seseorang, pemandangan. Hal ini sekaligus mengungkapkan perasaan atau pemikiran kepada orang lain. Dari mengetik kode pun (kurang lebih) kita bisa tahu bagaimana perasaan dan pemikiran Anda waktu itu. Entah Anda sedang dikejar deadline atau sedang senggang. Bagaimana caranya? Sederhana, lihat saja kerapian penulisan dan penamaan kode Anda.
  2. Jika Anda mengetik kode ke dalam komputer hanya untuk supaya program bisa berjalan tanpa memperhatikan nama variable, fungsi, class dan lain — lain maka Anda tidak lebih daripada seorang coder biasa. Coder yang luar biasa adalah seseorang yang menuliskan kode menggunakan nama yang baik dan mudah dipahami oleh manusia. Kita sebut ia dengan istilah code artisan.

Berikut ini adalah contoh script kode yang tidak baik dan perlu diperbaharui.

Nah, itu baru sampai 30 baris dari contoh kode buruk. Nah, kalau sampai ratusan bahkan ribuan kode?

Bagaimana cara menerapkan gaya ngoding yang baik dan benar?

  1. Gunakan bahasa Inggris sebagai langkah awal untuk memberikan nama variable, class dan fungsi di kodingan Anda. Hal ini akan memudahkan Anda khususnya ketika berhadapan dengan kata benda yang bersifat jamak (misalnya: tool dan tools). Dari sini juga saya menjamin Anda akan membuka translator penerjemah untuk menerjemahkan dari bahasa lokal ke Inggris. Jadi, sambil menyelam minum air ya?
  2. Anda bisa googling dengan kata kunci “coding style [nama-bahasa]”. Secara umum, isi yang dianjurkan juga (hampir) sama meskipun pembuatnya (perusahaan) berbeda. Kalau saya ngoding PHP, saya belajar dari PHP Standard Recommendation (PSR) atau clean code PHP dari Piotr Plenik. Kalau saya ngoding JS, saya belajar dari coding style milik Airbnb. Semua kembali kepada Anda memilih yang nyaman untuk diimplementasikan.
  3. Sering-seringlah membaca kodingan sendiri karna akan memudahkan Anda apa yang harus diubah, apa yang harus dirapikan dan apa yang harus dikurangi. Dari sini pula Anda akan mengenal dengan namanya code refactoring dan dari sini pula saya menjamin mata Anda akan terusik jika ada satu atau beberapa baris kode yang mengusik dan memaksa Anda melakukan refactoring.

Lantas, apakah saya telah menerapkan gaya ngoding seperti yang telah dipaparkan di atas? Jawabannya iya dan terus belajar supaya lebih baik. Hal ini mulai saya sadari setelah 6 bulan saya melihat source code saya yang buruk rupa dan membandingkannya dengan standard coding style yang disarankan.

Apakah dengan menerapkan gaya ngoding membuat produktivitas saya menurun? Iya, itu terjadi di awal — awal menerapkan hal ini dan sampai — sampai pernah ditegur keras oleh senior saya. > Merapikan koding itu bisa belakangan, yang penting program kita berjalan. User itu ngga peduli dengan kodingan kita rapi atau ngga. Yang mereka lihat itu program kita jalan atau tidak.

Dari teguran ini, mungkin akan ada pro dan kontra terhadap pernyataan di atas. Memang betul sekali bahwa user kita tidak peduli dengan koding kita di balik layar dan peduli pada program kita berjalan atau tidak. Namun, meski begitu sebagai seorang code artisan yang baik, pastinya Anda ingin memberikan yang terbaik bagi diri sendiri, rekan sejawat dan apalagi kalau terjadi kasus pewarisan kode ke coder selanjutnya.

Meskipun kita bisa merapikan koding belakangan, mengapa tidak sambil jalan saja langsung kita terapkan? Karena setiap waktu kita bisa diberi tugas oleh atasan entah itu membuat sistem atau membuat fitur. Hal tersebut akan membuat waktu kita tersita pada hal tersebut dan belum lagi sisa waktu berikutnya kita habiskan dengan mengusir kejenuhan kita atau melakukan kerja sambilan di kantor.

Lantas bagaimana cara saya jika saya sudah terlanjur menerapkan gaya ngoding buruk dan ingin bertobat ke jalan yang benar?

  1. Kick your ego. Dengan menerima kesalahan sebelumnya dan ingin memperbaiki ke arah yang lebih baik.
  2. Manfaatkan waktu luang di sela-sela jam kerja Anda untuk merapikan kode. Mulai dari perbaikan spasi, memberi jarak antara tanda kurung kurawal dengan tanda kurung, dsb. Jika perlu, sebaiknya segera install beautifier code di salah satu text editor kesayangan Anda. Silahkan googling dengan kata kunci “beautify code [nama-text-editor-anda]”.
  3. Jangan ragu bertanya kepada yang lebih senior dalam coding style. Kita bisa bertanya apa nama yang tepat untuk dipakai dalam fungsi, class atau variable Anda. Ingat, pemberian nama dalam kode itu (sangat) penting (sekali)!

Lalu bagaimana jika Anda memiliki rekan kerja satu tim yang tidak peduli dengan gaya ngoding dan masih tetap ngoding seenaknya?

  1. Lakukan pendekatan dan beri tahu bahwa koding yang kita tulis bukan buat kita saja tetapi untuk penerus estafet kodingan kita (jika Anda atau salah satu teman Anda resign) dan pembaca kode (jika project Anda disimpan publik di Github).
  2. Jika masih tetap bawel dan kekeuh, ya semoga cepat-cepat diberikan hidayah oleh yang di atas dan juga harus siap dicaci maki bahkan di sumpah serapah jika penerus kode Anda melihat kodingan busuk Anda.

Sekian pengenalan mengapa gaya ngoding itu penting dan masih banyak hal yang perlu kita gali bersama-sama untuk membuat diri kita, programmer Indonesia menjadi lebih baik dan tidak diremehkan oleh programmer negara lain apalagi negara sendiri. Jangan ragu untuk berbagi ilmu kepada sesama.

Referensi tambahan:

  1. Tips Clean Code dari CTO Urbanindo (https://id.techinasia.com/tip-clean-code-dari-urbanindo).
  2. These four “clean code” tips will dramatically improve your engineering team’s productivity (https://engineering.videoblocks.com/these-four-clean-code-tips-will-dramatically-improve-your-engineering-teams-productivity-b5bd121dd150)