Representasi Sebuah Sistem dengan Function

Artikel ini ditulis oleh Hanifah S. - Software Engineer.

Di internal tim teknologi SIRCLO, kami memiliki klub buku yang memiliki kegiatan diskusi rutin setiap dua minggu. Setiap diskusi diisi dengan pembahasan dari sebuah buku yang dimoderatori oleh dua orang developer.

Pada klub buku yang relatif baru ini (tulisan ini membicarakan tentang pertemuan kedua), topik yang akan dibahas adalah mengenai function dari buku Clean Code yang ditulis oleh Robert C. Martin.

Ada beberapa poin yang penting untuk kami pelajari tentang penulisan function dalam buku tersebut, yaitu:

Kecil

Sebaiknya penulisan sebuah function tidak melebihi 20 baris dan masing-masing baris menjelaskan suatu cerita.

Do one thing

Dalam penulisan sebuah function, sangat disarankan agar langkah-langkah yang terjadi di dalamnya berada dalam satu level abstraksi (do one thing). Contoh unit testing function yang mencakup beberapa langkah, namun tetap dalam satu level abstraksi sebagai berikut:

  • Function yang menentukan apakah page tersebut adalah page test atau bukan.
  • Jika ya, sertakan function untuk setup dan tear down.
  • Function untuk rendering html page.

Satu level abstraksi per function

Sebaiknya setiap pernyataan yang terdapat dalam sebuah function berada pada level abstraksi yang sama. Hal itu bertujuan agar tidak membingungkan orang yang membaca function tersebut di kemudian hari.

Argumen function

Jumlah argumen yang ideal dalam sebuah function adalah 0 (niladic) atau seminimum mungkin. Hal ini dikarenakan penggunaan argumen yang banyak akan membutuhkan banyak tenaga pula untuk memahami konsep. Akhirnya, dibutuhkan waktu yang lebih banyak untuk memahami fungsi tersebut.

Tidak Memiliki Efek Samping

Function yang baik tidak memberikan pengaruh lain apalagi yang dapat merubah atau merusak sistem secara global. Idealnya, function dapat sesuai dengan yang diharapkan dari sebuah fungsi yaitu do one thing.

Kesimpulan

Walaupun kelihatannya poin-poin di atas terlalu subjektif untuk beberapa pihak, programmer tetap dapat menjadikannya referensi dalam menulis function. Lagipula sangat penting untuk senantiasa mengingat tujuan awal dari penulisan function, yaitu untuk merepresentasikan sistem yang akan dibuat. Oleh karena itu, penulisannya haruslah rapi dan sesuai dengan bahasa pemrograman yang tepat, sehingga dapat dibaca dan diinterpretasikan dengan mudah.