🧠 MODUL 14: REFACTORING CODE DENGAN STANDAR NODE.JS
📘 Tujuan Pembelajaran:
- Mahasiswa mampu memahami pentingnya penulisan kode yang rapi dan terstruktur.
- Mahasiswa mampu menerapkan standar penulisan kode dalam proyek Node.js.
- Mahasiswa mampu melakukan refactoring terhadap kode yang sudah ada.
🔧 A. MEMBUAT PROJECT MODUL
Langkah 1: Menyalin Folder Proyek Lama
- Pilih salah satu tugas jurnal dari modul 2 sampai modul 13, usahakan pilih yang sederhana (misal: hanya fungsi perhitungan, atau express route sederhana).
- Copy-paste folder tersebut ke lokasi baru.
- Rename folder hasil copy menjadi format:
12REFACTORING
Langkah 2: Buka Folder di IDE
- Gunakan IDE seperti Visual Studio Code (VSCode).
- Buka folder hasil salinan tadi.
- Pastikan struktur proyek masih berjalan (misal: jalankan
node index.js
ataunpm start
jika menggunakan Express).
🛠️ B. REFACTORING DENGAN STANDAR CODE
⚠️ Masalah Umum Kode Tidak Rapi:
- Nama variabel tidak jelas (
x
,data1
) - Penggunaan
var
alih-alihlet
atauconst
- Indentasi berantakan
- Tidak ada komentar
- Fungsi terlalu panjang dan membingungkan
✅ Refactor Kode Sesuai Standar Node.js
1. Naming Convention
a. Variable / Property / Attribute
- Gunakan camelCase.
- Nama harus deskriptif dan jelas.
-
12345// ❌ Salahconst x = 10;// ✅ Benarconst totalPrice = 10;
b. Function / Method / Procedure
- Gunakan kata kerja + objek (misalnya
getUser()
,sendEmail()
).
1 2 3 4 5 |
// ❌ Salah function data() { ... } // ✅ Benar function fetchData() { ... } |
c. Class / Constructor
- Gunakan PascalCase.
1 2 3 4 5 |
class UserModel { constructor(name) { this.name = name; } } |
d. Constant Global
- Gunakan UPPER_SNAKE_CASE.
1 |
const MAX_RETRIES = 5; |
2. White Space & Indentasi
- Gunakan indentasi 2 spasi (default di VSCode).
- Tambahkan baris kosong antar fungsi.
- Tambahkan spasi antar operator.
1 2 3 4 5 6 7 |
// ❌ Salah function add(a,b){return a+b;} // ✅ Benar function add(a, b) { return a + b; } |
3. Deklarasi Variabel
- Gunakan
const
untuk nilai tetap,let
jika bisa berubah. - Hindari
var
.
1 2 3 4 5 |
// ❌ Salah var total = 10; // ✅ Benar const total = 10; |
4. Komentar
- Komentar harus menjelaskan maksud, bukan hal yang jelas.
1 2 3 4 5 6 7 8 9 |
// ❌ Salah // Ini fungsi function add(a, b) { return a + b; } // ✅ Benar // Menambahkan dua bilangan dan mengembalikan hasilnya function add(a, b) { return a + b; } |
- Gunakan komentar JSDoc untuk dokumentasi fungsi.
1 2 3 4 5 6 7 8 |
/** * Menghitung total dari array harga * @param {number[]} prices - Array berisi harga * @returns {number} Total harga */ function getTotal(prices) { return prices.reduce((sum, price) => sum + price, 0); } |
5. Struktur File & Modul
Jika sebelumnya semua kode ditulis dalam satu file (misal index.js
), cobalah memecah ke dalam file modular seperti:
1 2 3 4 5 6 7 8 |
refectoring/ ├── index.js ├── controllers/ │ └── userController.js ├── models/ │ └── userModel.js ├── routes/ │ └── userRoutes.js |
📝 TUGAS MAHASISWA
📌 Instruksi Tugas Refactoring
- Pilih salah satu tugas jurnal dari modul sebelumnya.
- Salin dan rename menjadi:
refevtoring
- Lakukan refactoring pada kode tersebut dengan aturan:
Aspek | Checklist |
---|---|
Naming convention sesuai | ✅ |
Tidak ada penggunaan var |
✅ |
Gunakan const /let |
✅ |
Indentasi dan spasi rapi | ✅ |
Komentar fungsi ditulis | ✅ |
Minimal ada 1 komentar JSDoc | ✅ |
File modular (jika memungkinkan) | ✅ |
Tidak ada kode duplikat | ✅ |
- Tambahkan file
README.md
di dalam foldermodul14_NIM
yang berisi:- Nama lengkap & NIM
- Deskripsi singkat tugas
- Perubahan yang dilakukan (refactoring apa saja)
- Command untuk menjalankan proyek
🔚 PENUTUP
Dengan refactoring kode sesuai standar, kamu akan:
- Lebih mudah membaca dan memahami kode.
- Lebih siap kerja tim di dunia kerja.
- Mempermudah debugging dan scaling aplikasi ke depannya.