Skip to content

M05 · Bab 8± 60 menitDraf AI

Proyek Mini: Menjinakkan Kode Warisan

Tujuan belajar

  • Menulis characterization test yang mengunci perilaku kode lama sebelum mengubahnya
  • Melakukan refactor aman langkah demi langkah — extract method dan mengganti magic number dengan konstanta
  • Memisahkan dependency keras ke sebuah interface agar bisa di-mock dengan Mockito
  • Mengganti System.out.println dengan logging SLF4J yang terstruktur
  • Mencatat setiap langkah sebagai commit kecil bergaya Conventional Commits

Prasyarat: Git untuk Kerja Tim

Kuis

5 soal · lulus bila minimal 70% benar

1.Apa tujuan utama characterization test pada kode warisan?
2.Kamu mengganti (long) total + (long) (total * 0.11) dengan Math.round(total) + Math.round(total * 0.11) agar "lebih rapi". Characterization test untuk pelanggan GOLD, 3 barang × 33.333 gagal. Apa yang terjadi?
3.Kenapa new SmtpMailer(...) di dalam method process menyulitkan unit test?
4.Urutan kerja mana yang paling aman untuk merapikan class lama tanpa test?
5.Setelah refactor, log berbunyi Order diproses: customerType=GOLD, qty=3, grandTotal=99898. Kode logging mana yang menghasilkannya dengan cara yang disarankan SLF4J?

Jawab semua soal dulu (0/5)