Belajar JavaScript: 16 – Kualitas Kode dan Developer Tooling

Language

16. Kualitas Kode dan Developer Tooling

Daftar Isi Utama

Panduan ini untuk siapa

  • Pembelajar yang ingin kualitas kode lebih rapi tanpa harus diingatkan terus
  • Developer solo maupun tim yang ingin kebiasaan kerja production-ready
  • Siapa pun yang capek dengan problem “jalan di laptop saya, gagal di tempat lain”

Apa yang akan Anda pelajari

  • Setup ESLint dan Prettier yang praktis dan bisa dipertahankan tim
  • Kenapa TypeScript strict mode sangat membantu mencegah bug mahal
  • Cara mengotomatiskan quality checks lewat scripts dan pre-commit hooks

Mengapa topik ini penting

Tooling yang benar mengubah kualitas kode dari “niat baik” menjadi sistem.

Daripada bergantung ke ingatan developer, automation akan menangkap masalah lebih awal. Hasilnya: review lebih lancar, merge lebih aman, dan bug yang bisa dicegah tidak lolos ke production.

Konsep inti

Linting

  • Menangkap pola kode berisiko sejak awal

Linting menjaga standar kualitas kode secara konsisten di seluruh kontributor.

Formatting

  • Menjaga gaya kode konsisten antar kontributor

Formatting menghapus debat style agar review fokus ke logic.

Type strictness

  • Menemukan risiko null/undefined dan mismatch lebih cepat

Strict typing menangkap banyak bug “diam-diam” sebelum runtime.

Panduan langkah demi langkah

Langkah 1 — Konfigurasi lint dan format

Siapkan baseline ESLint + Prettier dan pastikan konfigurasinya tidak saling bentrok.

Langkah 2 — Aktifkan opsi strict TypeScript

Aktifkan opsi strict bertahap kalau perlu, tapi tetap punya target menuju strict penuh.

Langkah 3 — Otomatiskan checks

Buat satu perintah untuk menjalankan semua quality checks sebelum merge.

Targetnya: quality gate otomatis, bukan opsional.

Contoh praktis

Contoh 1 — Script quality

{
	"scripts": {
		"lint": "eslint .",
		"format": "prettier --write .",
		"typecheck": "tsc --noEmit",
		"check": "npm run lint && npm run typecheck"
	}
}

Tip:

  • Jaga command check tetap cepat supaya realistis dipakai tiap hari.

Contoh 2 — Konsep pre-commit

  • Jalankan lint dan typecheck sebelum commit

Ini membantu menahan commit berkualitas rendah sebelum masuk branch bersama.

Kesalahan umum dan cara menghindarinya

  • Menganggap lint warning tidak penting -> perbaiki atau dokumentasikan pengecualian dengan jelas
  • Auto-format tanpa cek diff -> tetap review perubahan yang bermakna
  • Strict mode ditunda terlalu lama -> mulai lebih awal saat codebase belum terlalu besar
  • Tool terlalu banyak tanpa tujuan jelas -> pakai stack tooling yang minimal tapi efektif

Mini Project

  • Tambahkan quality pipeline lengkap ke satu project berisi:
  • ESLint,
  • Prettier,
  • TypeScript typecheck,
  • pre-commit check.

Bonus:

  • Tambahkan CI check agar pull request otomatis gagal kalau quality check gagal.

Latihan cepat

  • Perbaiki satu lint issue dan satu type issue
  • Tambahkan satu script check
  • Jalankan checks sebelum setiap commit
  • Tulis satu aturan tim singkat: “Kapan lint rule boleh di-disable?”

Ringkasan utama

  • Tooling membuat kualitas jadi proses yang konsisten, bukan bergantung ingatan
  • Strict typing membantu menangkap bug penting lebih cepat
  • Quality gate otomatis mempercepat kolaborasi dan mengurangi friksi review

Langkah berikutnya

Lanjut ke [17. Dasar Backend dengan Node.js].

No Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.