Apa Arti "Vertical Slice"
Vertical slice (irisan vertikal) adalah potongan tipis dari fitur yang menembus seluruh lapisan aplikasimu — sedikit UI, sedikit logika, sedikit data — alih-alih membangun satu lapisan penuh sekaligus.
Pendekatan yang menggoda tapi salah (horizontal):
- Bangun seluruh skema .
- Lalu bangun semua logika .
- Lalu bangun seluruh UI.
Kamu tidak bisa menjalankan apa pun sampai ketiganya selesai, jadi kamu tidak bisa menangkap masalah lebih awal.
Pendekatan yang lebih baik (vertikal):
- Langkah 1: tombol yang melakukan versi paling sederhana dari fitur itu, dengan data palsu.
- Langkah 2: buat tombol itu memakai data sungguhan.
- Langkah 3: tangani kasus-kasus khusus ( case).
Perbedaannya paling mudah dilihat berdampingan. Horizontal membangun satu lapisan penuh sekaligus dan tidak menjalankan apa pun sampai akhir; vertikal membangun satu jalur tipis yang bisa dijalankan menembus setiap lapisan di tiap langkahnya:
HORIZONTAL (risky) VERTICAL (safe)
run? ▼
┌──────────────────────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐
│ UI │ │ UI │ │ UI │ │ UI │ │ UI │
├──────────────────────┤ ├────┤ ├────┤ ├────┤ ├────┤
│ LOGIC │ │logic││logic││logic││logic│
├──────────────────────┤ ├────┤ ├────┤ ├────┤ ├────┤
│ DATA │ │data│ │data│ │data│ │data│
└──────────────────────┘ └────┘ └────┘ └────┘ └────┘
build all 3, THEN run step1 step2 step3 step4
(can't run till the end) each step runs on its own
Setiap irisan bisa dijalankan. Itulah yang menjaga aplikasi selalu berfungsi.
Uji yang berguna untuk irisan yang baik: bisakah kamu mendemokannya? Jika kamu bisa menunjuk ke layar dan berkata "lihat ini," itu adalah irisan vertikal sungguhan. Jika satu-satunya demo jujur adalah "yah, skemanya sudah terpasang sekarang," berarti kamu membangun lapisan horizontal, dan kamu tidak akan tahu apakah itu benar sampai jauh kemudian — biasanya di saat yang paling buruk.