Apa itu Code Reading?

Code Reading adalah kemampuan untuk memahami dan menganalisis kode sumber tanpa menjalankannya.

"Code is read much more often than it is written."
— Guido Van Rossum, pencipta bahasa pemrograman Python

Pada artikel ini, kita akan bahas tentang Code Reading, terutama pada cara melakukan code reading meski tanpa dokumentasi.

Code Reading

Syntax Error Example

Jadi apa itu Code Reading? Code Reading adalah proses untuk memahami sebuah kode sekaligus menganalisisnya dengan logika yang benar.

Code Reading menjadi sangat-sangat penting jika kau bekerja dalam tim atau menghadapi proyek yang kompleks. Code Reading sendiri menjadi salah satu kemampuan yang paling dominan ketika melakukan Debugging.

Baca Juga: Debugging: kemampuan memahami masalah dengan logika

Cara melakukan Code Reading

Sesuai dengan namanya, Code Reading adalah membaca kode. Jadi, untuk bisa melakukan code reading, kau harus bisa membaca dengan cermat terhadap kode yang diberikan. Mengapa? Karena jika kau malas membaca kode, ya bagaimana kau bisa memahami kode tersebut.

Kita mulai dari contoh paling sederhana. Coba lihat kode berikut:

<html>
<head>
    <title>Judul Web</title>
</head>
<body>
    <h1>Selamat datang di Webku!</h1>
</body>
</html>

Setiap bahasa pemrograman memiliki struktur dan syntax yang berbeda. Untuk bisa melakukan code reading, kau harus memahami struktur dan syntax dari bahasa pemrograman tersebut. Contoh diatas aku ambil dari HTML. HTML sendiri memiliki penulisan yang khas yaitu <tag> ditutup dengan </tag>.

Maksudku adalah, karena bahasa pemrograman memiliki syntax yang berbeda, kau perlu memahami syntax dan ekosistem dari bahasa pemrograman yang kau gunakan. Contoh lainnya adalah seperti berikut:

a = 1
if a <= 1:
    print("Lebih dari satu")
else:
    print("Kurang dari satu")

Contoh diatas adalah kode dari bahasa pemrograman Python. Syntax dari dari bahasa pemrograman Python berbeda dengan bahasa pemrograman lainnya. Jika di python, kau tidak perlu menggunakan semicolon (;). Sementara di bahasa pemrograman lain seperti PHP, C, dan C++, kau harus menggunakan semicolon (;) di akhir setiap statement.

// PHP
$a = 1;
if ($a <= 1) {
    echo "Lebih dari satu";
} else {
    echo "Kurang dari satu";
}

// C / C++
int a = 1;
if (a <= 1) {
    printf("Lebih dari satu");
} else {
    printf("Kurang dari satu");
}     

Cobalah untuk memahami dasar-dasar dari bahasa pemrograman yang kau gunakan. Selain dasar pemrograman, kau juga harus paham konsep-konsep dasar dari bahasa pemrograman seperti variabel, tipe data, if-statement, loop, dan lain-lain. Setiap bahasa pemrograman juga memiliki konsep yang mirip, tetapi penulisannya yang berbeda.

Struktur Folder

Satu hal yang paling membuat bingung dalam code reading adalah struktur folder yang ngawur. Mungkin kau pernah melihat struktur folder seperti ini:

index.html
images/
css/
js/
fonts/

Struktur tersebut memang tidak salah. Tetapi... ketika kau mulai menggunakan framework seperti Laravel, Vite, AstroJS dan lain-lain, kau pasti menyadari bahwa struktur foldernya akan berbeda-beda. Coba lihat struktur folder dari framework laravel berikut:

app/
bootstrap/
config/
database/
public/
resources/
routes/
storage/
vendor/
tests/

Setiap framework memiliki struktur folder yang berbeda-beda. Kau harus belajar dan mengerti struktur folder tersebut. Namun yang paling penting adalah memahami relasi antara folder-folder tersebut. Kau harus tahu bagaimana cara menyambungkan file-file dalam struktur folder tersebut.

Baca Juga: Programming yang sebenarnya

Logika dan cara kerja kode

Setelah dua hal diatas sudah kau pahami dengan baik. Kita kembali ke bagian dasar dari code reading yaitu memahami logika dan cara kerja kode. Coba lihat kode berikut:

# Python
def hitung_total(harga, jumlah):
    total = harga * jumlah
    return total

hasil = hitung_total(5000, 3)
print(hasil)

Biarku jelaskan dengan pelan. Dalam memahami logika dan cara kerja kode, ada 5 pertanyaan yang harus lancar kau jawab setelah melihat sebuah kode. Yaitu:

  1. Apa tujuan kode?
  2. Dari mana data diambil?
  3. Apa yang terjadi?
  4. Apa hasilnya?
  5. Alasan ditulis seperti ini?

Mulai dari pertanyaan pertama, Coba lihat kembali kode di atas. Apa tujuan dari kode tersebut? Oh ya, kau harus menguasai syntax bahasa pemrograman yang kau gunakan. Tujuan dari kode tersebut adalah menghitung total. Namun, terkadang kau tidak akan menemukan function dengan nama seperti itu, bisa saja kau mendapatkan nama seperti:

function student_grade()

Jadi untuk menjawab pertanyaan pertama, cobalah lihat penggunaan simbol seperti asterisk (*), plus (+), minus (-), divide (/). Selain itu, pahami juga penggunaan parameter dalam function tersebut. Di sana mengatakan harga dan jumlah, lalu mengembalikan total. Jadi fungsi di atas digunakan untuk menghitung total berdasarkan harga dan jumlah.

Pertanyaan kedua, Dari mana data diambil? Dalam kode di atas, data diambil dari parameter function tersebut. Harga dan jumlah adalah data yang diberikan saat memanggil function. Ingatlah bahwa variabel adalah tempat atau wadah untuk menyimpan data. Variabel dalam kode tersebut adalah harga, jumlah, total, dan hasil. Hasil? kenapa hasil dianggap variabel? karena hasil adalah nilai yang dikembalikan oleh function.

# Python
def hitung_total(harga, jumlah): <-- fungsi mengambil nilai 5000 dan 3 dari variabel hasil
    total = harga * jumlah
    return total

# nilai 5000 adalah harga, sementara 3 adalah jumlah.
hasil = hitung_total(5000, 3)   <-- disini hasil adalah variabel yang menyimpan nilai yang dikembalikan oleh function hitung_total
print(hasil)

Lanjut kepertanyaan ketiga, Apa yang terjadi? Dalam kode di atas, yang terjadi adalah perkalian antara harga dan jumlah. Setelah data harga dan jumlah di dapatkan, maka fungsi hitung_total melakukan perkalian dan mengembalikan nilai total. Bagian berikut:

total = harga * jumlah
return total

Apa hasilnya? Hasilnya adalah nilai yang dikembalikan oleh function hitung_total, yaitu 15000. karena harga * jumlah = 15000

Pertanyaan terakhir, kenapa ditulis seperti ini? karena memang beginilah cara penulisan dalam bahasa pemrograman python. Lalu apakah penulisan seperti ini bisa digunakan di bahasa pemrograman lain? Jawabannya adalah tidak, karena bahasa pemrograman lain memiliki cara penulisannya sendiri.

Baca Juga: Git: Sang pengontrol versi terbaik andalan programmer

Kesimpulan

Jadi, kesimpulannya adalah membaca. Sebagai developer, kau tidak boleh malas membaca apalagi minus literasi. Ya, kau bisa malas membaca jika mau digantikan oleh AI. Tak hanya itu, kau perlu memahami dasar dan menjawab 5 pertanyaan utama dalam code reading. Kau bisa cek video berikut jika kau memang malas untuk membaca seluruh artikel ini: Link ke Video. Thumbnail Youtube from KodeKloud about how to read code in AI era