Thumbnail for article Mengenal Clean Code
Photo by Gil Ribeiro on Unsplash
6 minute(s) read

Mengenal Clean Code

Mari kita berkenalan dengan clean code.

DevelopmentPractice

Mana yang merepresentasikan kode kamu?

Pengukuran kualitas kode
Pengukuran kualitas kode

Kalau kita membahas tentang clean code seharusnya tidak jauh dari code quality. Karena penerapan dari clean code juga akan meningkatkan kualitas kode.


Bad Code

Kita mungkin sering mengatakan untuk membersihkan (cleanup) kode-nya di kemudian hari. Namun LeBlanc`s law mengatakan, "Later equals never".

Ketika kita sudah menulis kode yang messy lalu kita membacanya lagi di kemudian hari, pasti kita akan kebingungan akan maksud dari kode tersebut. Itu juga bisa menjadi penghambat jika kita perlu mengintegrasikan kode yang akan dikerjakan dengan kode yang sudah ada. Akibatnya, kita perlu waktu yang lebih banyak untuk menyelesaikan proses pengerjaannya.

Kita tidak akan mencapai deadline dengan membuat kekacauan (messy). Bahkan, kekacauan akan memperlambat kita, dan akan memaksa kita untuk melewatkan deadline. Satu - satunya cara untuk memenuhi deadline adalah dengan menjaga kode sebersih mungkin setiap saat.


Clean Code

Clean code menjadi salah satu aspek penting dalam software development. Kode yang menerapkan clean code diharapkan dapat membuat kode menjadi rapi dan baik. Setiap kode memiliki arti dan tugas masing - masing. Clean code juga sebaiknya diterapkan pada Agile Methodology, karena sistem dapat berubah dengan cepat. Jadi, penting untuk memanfaatkan clean code untuk proses development yang lebih efisien.

Penamaan

Dalam menuis kode, hampir semua hal kita beri nama. Seperti: variabel, fungsi, parameter, kelas, dan sebagainya. Penamaan yang baik akan memudahkan developer lain ketika membaca kode kita dan tentu kita sendiri di masa depan. Lalu, bagaimana cara untuk memberi nama yang baik?

  1. Gunakan bahasa inggris. Suka atau tidak, semua sintaks bahasa pemrograman ditulis dalam bahasa inggris. Dengan menulis kode dalam bahasa inggris, kita bisa meningkatkan kesatuannya.

  2. Naming convention. Pilih satu naming convention, bisa camelCase, PascalCase, snake_case, dan sebagainya. Selama itu konsisten. Beberapa bahasa pemrograman mempunyai budaya sendiri terkait naming convention ini, jadi cek dokumentasinya juga.

  3. SID (Short, Intuitive, Descriptive). Contohnya:

    /* Bad */
    const a = 5 // "a" bisa bermakna apa saja
    const isPaginatable = a > 10 // "Paginatable" terdengar tidak natural
    const shouldPaginatize = a > 10 // Kata kerja yang dibuat - buat
    
    /* Good */
    const postCount = 5
    const hasPagination = postCount > 10
    const shouldPaginate = postCount > 10 // alternatif
    
  4. Hindari kontraksi. Kontraksi tidak memberikan kontribusi apa pun selain mengurangi keterbacaan kode. Contohnya:

    /* Bad */
    const onItmClk = () => {}
    
    /* Good */
    const onItemClick = () => {}
    
  5. Hindari pengulangan konteks. Contohnya:

    class MenuItem {
      /* Nama method mengulang konteks (MenuItem) */
      handleMenuItemClick = (event) => { ... }
    
      /* Terbaca dengan baik sebagai `MenuItem.handleClick()` */
      handleClick = (event) => { ... }
    }
    
  6. Mencerminkan hasil yang diharapkan. Contohnya:

    /* Bad */
    const isEnabled = itemCount > 3
    return <Button disabled={!isEnabled} />
    
    /* Good */
    const isDisabled = itemCount <= 3
    return <Button disabled={isDisabled} />
    
  7. Singular dan plurals. Contohnya:

    /* Bad */
    const friends = 'Bob'
    const friend = ['Bob', 'Tony', 'Tanya']
    
    /* Good */
    const friend = 'Bob'
    const friends = ['Bob', 'Tony', 'Tanya']
    

Penamaan fungsi

Ada pattern yang cukup berguna untuk menamai suatu fungsi:

prefix? + action (A) + high context (HC) + low context? (LC)

Contoh:

NamePrefixAction (A)High context (HC)Low context (LC)
getUsergetUser
getUserMessagesgetUserMessages
handleClickOutsidehandleClickOutside
shouldDisplayMessageshouldDisplayMessage

Aturan fungsi

Ketika fungsi tidak dibuat secara baik. Maka ketika akan melakukan integrasi, test, dan refactor akan sulit ke depannya. Berikut beberapa cara untuk menerapkan clean code pada fungsi:


Aturan komentar


Penutup

Mungkin itu sedikit pembahasan tentang clean code. Beberapa referensi yang saya gunakan sebagai berikut:

Terima kasih.