Refactoring Terarah: Satu Tujuan per Permintaan

Meminta AI 'rapikan kode ini' menghasilkan perubahan serabutan: nama variabel berubah, struktur bergeser, dan kamu tidak lagi bisa membedakan mana perbaikan mana kerusakan. Refactoring yang bisa direview selalu punya satu tujuan yang jelas — misalnya mengubah callback bertingkat menjadi async/await, tanpa menyentuh hal lain. Dengan satu tujuan, diff-nya kecil, mudah diuji, dan mudah dibatalkan kalau ternyata salah. Prinsip ini berlaku juga saat kamu refactor tanpa AI.

👀 Contoh dulu

// sebelum: callback bertingkat
ambilUser(id, (user) => {
  ambilPesanan(user.id, (pesanan) => {
    console.log(pesanan);
  });
});

Hasilnya: Kode berjalan, tapi penanganan error harus ditulis di setiap tingkat callback.

📝 Sekarang giliranmu

Ubah fungsi callback di editor menjadi versi async/await: buat async function tampilkanPesanan(id) yang meng-await ambilUser(id) lalu ambilPesanan(user.id), dan cetak hasilnya. Jangan mengubah nama fungsi yang dipanggil.

Preview