Software dan Kode

Saya mulai kenal dengan dunia pemrograman pada saat kuliah D3 di tahun 2013. Saat itu saya diajarkan membuat software melalui kode seperti “Hello World”.

Hei, Hello World itu software lho! XD

Kemudian, saya terjun ke dunia industri sebagai pemrogram web mulai tahun 2017. Saat ini sudah dua tahun lebih saya telah menjalani profesi ini. Lalu, apa yang mau saya ceritakan di sini? Software dan kode.

Software dibangun dengan kode, kadang kita tidak tahu berapa banyak baris kode untuk menjalankan sebuah software, modul kode yang dikemas dalam folder untuk menjalankan sebuah software. Pertanyaannya, apakah saya cepat membaca kode dan mengerti alur kode yang ditulis untuk membuat software?

Umumnya pemrogram menghabiskan waktunya untuk membaca kode yang ada di dalam software dibandingkan menulis kode. Kadang, saya berpikir apakah mereka bisa membaca kode jika kode tersebut tidak diketik rapi (code formatting)?, apakah mereka bisa mengerti maksud dari sebuah fungsi atau method jika penamaan fungsi atau method tidak tepat, parameter di dalam method jumlahnya lebih dari tiga, dan tidak ada sebuah dokumentasi dalam bentuk komentar yang menjelaskan fungsi ini untuk apa dan akan mengembalikan nilai apa?

Saya setuju 100% bahwa software yang baik adalah baris kode yang berjalan. Namun, kalau misalnya software tersebut adalah project kerja tim atau lebih dari satu orang, tidak menerapkan standar penulisan kode, dan project diteruskan kepada satu orang untuk melanjutkannya. Saya pikir akan muncul pertanyaan yang ada di atas.

Entahlah, mau dibilang idealis atau gila atau apapun, saya pikir software yang baik adalah baris kode yang berjalan DAN menerapkan standar penulisan kode yang telah disepakati di suatu bahasa pemrograman. Ada kata DAN yang dicetak tebak dan kapital, itu artinya tidak ada nego.

Lho kok kamu gitu sih? Ngga apa kali kalau berantakan?

Iya, sah-sah saja sih kalau berantakan. Cuma, kode yang kamu buat bisa saja tidak buat kamu aja tapi buat orang lain yang terlibat di project kamu. Kenapa saya bercerita ini? Karena saya sedang mengalaminya. Saya mendapat tugas untuk membuat sebuah fitur di sebuah sistem dan kode dari sistem tersebut tidak menerapkan standar penulisan, penamaan variable yang sulit dimengerti, komentar kode yang saya butuhkan pun tidak ada. Sudah dua kali saya mengalami kejadian ini di sistem yang sama. Saat kejadian pertama, saya berusaha bertahan, memahami isi kode dan cara kerjanya seperti apa. Saat kejadian kedua, saya mulai memasang bendera putih di pikiran saya.

Lah, jangan nyerah gitu dong! Pasti bisa!

Sip, makasih semangatnya! Yuk lanjut! Bendera putih dicopot!

Sempat saya ingin mengutarakan ke yang bersangkutan kenapa tidak menerapkan standar penulisan kode, cuma saya urungkan niat ini. Karena, saya tidak yakin yang bersangkutan akan mau menerima dan menerapkan karena alasan seperti banyak kerjaan lah, bodohlah yang penting program jalan dan lain-lain. Nanti ujung-ujungnya saya bakal ditindas. He he he.

Kalau memang misalnya standar penulisan kode alias code style guide ini tidak ada dan tetap pada landasan yang penting kode jalan, terus kenapa project open source yang ada di Github dan sering dipakai oleh banyak programmer malah pakai standar penulisan kode? Kenapa kita yang pakai project mereka malah ngga pakai? Apakah karena tidak tahu atau malas mencari tahu?

Oh iya, memang kodingan mu rapi amat pas kuliah?

Ngga juga lah, koding saya berantakan kok dulu saat kuliah. Ini sumber kode tugas akhir saya ada di Github. Silakan dibaca. Mungkin lebih berantakan daripada project yang saya hadapi saat ini. Cuma, saya terus berbenah diri untuk menjadi lebih baik. Itu aja.

Sebenarnya, kalau malas sudah disediakan tools untuk merapikan kode yang berantakan seperti perintah Format document yang ada di VS Code untuk JavaScript (Sudah tertanam di VS Code), ada PHP-CS-Fixer untuk PHP, ada perintah gofmt untuk Golang (sudah tertanam langsung), dan lain - lain.

Kadang, saya agak gemas dengan pernyataan ini.

User ngga peduli dengan teknologi atau framework yang kamu pakai!

Lah, terus kalau ngga ada yang peduli masa developer juga ngga peduli?

Pernah nonton episode kartun Spongebob yang ada krabby patty tapi isinya chum bucket? Seperti itulah software yang hanya berlandaskan yang penting kode jalan.

Setidaknya tolong punyalah empati bahwa kode yang kamu buat akan dibaca oleh orang lain dan akan dipakai oleh orang lain untuk mengerjakan project kamu. Koding rapi itu enak lho!

Referensi