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.