🧠 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.jsataunpm startjika menggunakan Express).
🛠️ B. REFACTORING DENGAN STANDAR CODE
⚠️ Masalah Umum Kode Tidak Rapi:
- Nama variabel tidak jelas (
x,data1) - Penggunaan
varalih-alihletatauconst - 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
constuntuk nilai tetap,letjika 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.mddi dalam foldermodul14_NIMyang 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.














