Penulis materi, terjemahan yang kami terbitkan hari ini, mengatakan bahwa ia terobsesi dengan penulisan kode bersih. Dia percaya bahwa kode harus ditulis sehingga, pertama, di masa depan, akan lebih mudah bagi programmer lain untuk bekerja dengannya, termasuk penulisnya, dan kedua, dengan mempertimbangkan kemungkinan memperluas kode ini. Artinya, kita perlu berusaha untuk membuatnya relatif mudah untuk menambahkan fitur baru ke aplikasi, dan membuatnya nyaman untuk mempertahankan basis kodenya. Jika program ditulis dengan mempertimbangkan hanya kebutuhan komputer, maka mungkin programmer dapat mengekspresikan pikiran mereka hanya dengan bantuan nol dan satu, tanpa khawatir tentang hal lain. Artikel ini menyediakan beberapa pedoman untuk menulis kode kualitas, diilustrasikan dengan contoh JavaScript.

1. Gunakan nama variabel dan fungsi yang ramah
Kode jauh lebih mudah dibaca ketika ditulis menggunakan nama fungsi dan variabel yang jelas dan deskriptif. Berikut adalah kode yang tidak begitu jelas:
function avg (a) { let s = a.reduce((x, y) => x + y) return s / a.length }
Keterbacaannya akan meningkat secara signifikan jika Anda menggunakan nama variabel dan fungsi yang ramah yang mencerminkan artinya.
function averageArray (array) { let sum = array.reduce((number, currentSum) => number + currentSum) return sum / array.length }
Jangan berusaha untuk minimalis saat menulis teks program. Gunakan nama variabel lengkap yang mudah dipahami siapa pun yang akan bekerja dengan kode Anda.
2. Tulis fungsi singkat yang memecahkan satu masalah
Fungsi lebih mudah untuk dipertahankan, mereka menjadi lebih mudah dimengerti, dapat dibaca jika mereka bertujuan memecahkan hanya satu masalah. Jika kita menemukan kesalahan, maka, ketika menggunakan fungsi-fungsi kecil, menjadi lebih mudah untuk menemukan sumber kesalahan ini. Selain itu, kemampuan penggunaan kembali kode ditingkatkan. Sebagai contoh, fungsi di atas bisa disebut
sumAndAverageArray
, karena di dalamnya kita menghitung jumlah nilai elemen-elemen array menggunakan metode
reduce
, dan kemudian kita menemukan nilai rata-rata, membagi jumlah yang dihasilkan dengan jumlah elemen dalam array. Inilah fungsinya.
function sumAndAverageArray(array) { let sum = array.reduce((number, currentSum) => number + currentSum) return sum / array.length }
Ini dapat dibagi menjadi dua fungsi, maka peran setiap bagian kode akan menjadi lebih dimengerti. Selain itu, jika kita membuat program besar, keberadaan fungsi
sumArray
bisa sangat berguna. Berikut adalah kode untuk dua fitur baru. Satu menghitung jumlah elemen-elemen array, yang kedua mengembalikan nilai rata-rata mereka.
function sumArray(array) { return array.reduce((number, currentSum) => number + currentSum) } function averageArray(array) { return sumArray(array) / array.length }
Tanda bahwa fungsi dapat dibagi menjadi dua adalah kemungkinan menggunakan kata "dan" dalam namanya.
3. Dokumentasikan kodenya
Tulis dokumentasi yang baik untuk kode Anda - maka seseorang yang menemukannya di masa mendatang akan mengerti apa yang sedang dilakukan dalam kode ini dan mengapa. Berikut adalah contoh fungsi yang gagal. Beberapa "angka ajaib" digunakan di sini, artinya tidak dijelaskan di mana pun.
function areaOfCircle (radius) { return 3.14 * radius ** 2 }
Anda dapat menambahkan komentar di sini untuk membuat kode ini lebih dimengerti bagi seseorang yang tidak tahu rumus untuk menghitung luas lingkaran.
const PI = 3.14 // , function areaOfCircle (radius) { // : // return PI * radius ** 2 }
Kode ini hanyalah sebuah contoh. Mungkin, dalam situasi ini, daripada memperkenalkan konstanta Anda sendiri menyimpan nomor Pi, akan lebih baik menggunakan properti
Math.PI
standar.
Komentar pada kode harus menjawab pertanyaan "mengapa."
Harap dicatat bahwa untuk tujuan mendokumentasikan kode, masuk akal untuk menggunakan alat khusus dan aturan komentar kode yang sesuai. Ketika diterapkan ke Python, saya suka
Google Style Docstrings , ketika diterapkan ke JavaScript, saya suka
JSDoc .
4. Pikirkan tentang menggunakan aturan Sandy Metz
Sandy Metz adalah programmer Ruby yang hebat, membuat presentasi yang menarik dan menulis buku. Dia merumuskan empat aturan untuk menulis kode bersih dalam bahasa berorientasi objek. Inilah mereka.
- Kelas tidak boleh lebih dari 100 baris kode.
- Metode dan fungsi tidak boleh lebih dari 5 baris kode.
- Metode harus melewati tidak lebih dari 4 parameter.
- Pengontrol hanya dapat menginisialisasi satu objek.
Saya merekomendasikan menonton
penampilannya terkait aturan ini.
Saya telah mengikuti aturan-aturan ini selama sekitar dua tahun sekarang, dan mereka telah begitu tertanam dalam pikiran saya sehingga saya mengikuti mereka, secara harfiah, "di mesin". Saya suka mereka, dan saya percaya bahwa penggunaannya meningkatkan kenyamanan dalam menjaga kode.
Harap perhatikan bahwa aturan ini hanya rekomendasi, tetapi menggunakannya akan membuat kode Anda jauh lebih baik.
5. Terapkan aturan yang dipilih secara berurutan
Penerapan aturan yang konsisten untuk menulis kode sangat penting terlepas dari apakah Anda menulis sendiri kode proyek atau bekerja dalam tim. Secara khusus, ini dinyatakan dalam kenyataan bahwa siapa pun yang membaca kode yang merupakan hasil pengembangan tim harus melihatnya secara keseluruhan. Dengan pendekatan ini, kepengarangan dari setiap baris kode hanya dapat dibuat dengan menghubungi Git. Jika Anda, dalam JavaScript, gunakan tanda titik koma - taruh di mana pun Anda membutuhkannya. Hal yang sama berlaku untuk tanda kutip - pilih tanda kutip ganda atau tunggal dan, jika tidak ada alasan yang baik, selalu gunakan apa yang Anda pilih.
Saya sarankan menerapkan panduan gaya kode dan linter, yang memungkinkan Anda membawa kode ke standar yang dipilih. Misalnya, untuk JavaScript saya suka aturan
Standard JS , untuk Python saya suka aturan
PEP8 .
Sebenarnya, hal utama di sini adalah menemukan aturan desain kode dan mematuhinya.
6. Ingat prinsip KERING
Salah satu ide pertama yang orang coba sampaikan kepada seseorang yang ingin menjadi programmer adalah: "Jangan Ulangi Diri Anda, KERING". Jika Anda melihat fragmen duplikat dalam proyek Anda, gunakan konstruksi perangkat lunak yang akan mengurangi pengulangan kode yang sama. Saya sering menyarankan siswa saya untuk bermain game
SET untuk meningkatkan keterampilan pengenalan pola mereka.
Namun, jika Anda memutuskan untuk secara fanatik menerapkan prinsip KERING atau memutuskan untuk mengabstraksi template yang dipilih dengan buruk, keterbacaan kode dapat memburuk secara serius, dan, kemudian, Anda mungkin perlu menggunakan salinan dari konstruksi yang sama lebih sering. Omong-omong, Sandy Metz memiliki artikel yang bagus tentang bagaimana duplikasi kode tidak seburuk
abstraksi yang gagal .
Akibatnya, itu tidak layak diulangi, tetapi juga tidak layak, dalam perjuangan untuk mengamati prinsip KERING, untuk memodifikasi kode sedemikian rupa sehingga menjadi sulit untuk dipahami.
7. Gunakan ide enkapsulasi dan modularitas.
Kelompokkan variabel dan fungsi yang terkait untuk membuat kode Anda lebih mudah dipahami dan ditingkatkan dalam hal penggunaannya kembali. Berikut adalah contoh kode yang tidak tertata dengan baik, di mana informasi tentang seseorang disajikan dalam bentuk variabel yang terpisah.
let name = 'Ali' let age = 24 let job = 'Software Engineer' let getBio = (name, age, job) => `${name} is a ${age} year-old ${job}`
Jika dalam program seperti itu diperlukan untuk memproses data banyak orang, maka akan lebih baik menggunakan sesuatu seperti konstruksi berikut di dalamnya.
class Person { constructor (name, age, job) { this.name = name this.age = age this.job = job } getBio () { return `${this.name} is a ${this.age} year-old ${this.job}` } }
Dan jika program hanya perlu bekerja dengan data tentang satu orang, maka mereka dapat diatur seperti yang ditunjukkan di bawah ini.
const ali = { name: 'Ali', age: 24, job: 'Software Engineer', getBio: function () { return `${this.name} is a ${this.age} year-old ${this.job}` } }
Dengan cara yang sama, seseorang harus mendekati membelah program panjang menjadi modul, menjadi file terpisah. Ini akan memfasilitasi penggunaan kode yang dialokasikan dalam file terpisah di berbagai proyek. Dalam file besar dengan kode program seringkali sulit untuk dinavigasi, dan modul kecil yang mudah dipahami mudah digunakan dalam proyek yang mereka buat, dan, jika perlu, dalam proyek lain. Oleh karena itu, berusahalah untuk menulis kode modular yang dapat dimengerti dengan menggabungkan elemen-elemen terkait secara logis.
Ringkasan
Dalam artikel ini, kami berbagi dengan Anda beberapa rekomendasi untuk menulis kode yang bersih dan mudah dipahami. Namun, ini hanya rekomendasi. Ini adalah tips untuk membantu Anda menulis teks program yang berkualitas. Jika Anda secara sistematis menerapkan aturan yang serupa dengan yang dijelaskan di sini, maka, dibandingkan dengan kode yang tidak menggunakan sesuatu yang serupa, kode yang ditulis menggunakan aturan akan lebih dimengerti, akan lebih mudah untuk memperluas, memelihara, dan menggunakannya kembali.
Pembaca yang budiman! Aturan apa yang Anda ikuti untuk kode Anda?
