Document Driven Development

Situasi:

saya mempunyai system yang cukup kompleks, yang sudah saya jelaskan pada artikel Data Model part 1 - Entity, DTO {Data Transfer Object}

  • data dari suatu bagian ke bagian lain
  • data dari suatu Layer ke Layer lainnya
  • contoh: View HTML, jangan sampai “link” ke fieldName {Model} yang tidak tepat
  • Next:
    • E2E Testing Script {di zaman sekarang, ini is a must (bukan lagi nice to have)}
    • sebaiknya Testing Script bisa dibuat menggunakan Generator

Objective:
Saya memerlukan Source of Truth sebagai acuan bagi semua Component di system

.MD File sebagai Source of Truth

Saya menggunakan .MD file, karena:

  • mudah dibaca
  • mudah untuk dilakukan suatu “Marking”
  • simple Text File
  • di GitHub, proses Copy/Page image ke .MD file == sangat mudah

Selanjutnya seperti saya tulis pada artikel Cara menulis file .MD, pada bagian:

Too Few vs Too Much

❌ Too Few   → Incomplete, tidak berguna
❌ Too Much  → Overwhelmed, kebanjiran informasi
✅ Pragmatic

saya harus menemukan sweet spot – yang “pas”.

maka saya membagi .MD file setidaknya menjadi beberapa kategori:

  • Tipe 1: .MD file untuk Specification Document:
    • tentang teknis suatu Tool
    • tentang Business Flow yang harus diimplementasikan oleh Code
    • kombinasi keduanya
  • Tipe 2: .MD file sebagai input suatu Tool
  • Tipe 3: .MD file sebagai User Guide

setidaknya mengurangi distraction bagi pembaca.
contoh:

  • suatu [.MD file untuk Specification Document], tidak usah ditulis tentang cara pakai suatu tool
  • itu membuat gagal fokus {saya sering mengalami hal ini}

Seperti gambar di atas, semua mengacu pada .MD file {sebagai Source of Truth}

  • jangan lupa bahwa itu bukan hanya 1 jenis .MD file
  • tetapi paling sedikit ada 3 Tipe .MD file, seperti penjelasan di atas

Generator bisa dibuat, karena Source of Truth sudah tersedia

setidaknya akan ada beberapa Generator, yaitu:

generator__Test_script.mjs
generator__Test_script__items.mjs

generator__md_to_excel.mjs
generator__md_to_excel__items.mjs

saya tulis pada artikel E2E {end-to-end} Testing: 4 tipe Testing Script bagian Generator: membuat secara otomatis - Testing Script

WHAT NOT

  • Generator - Form / UI

WHY NOT ?

  • daripada membuat Generator - Form / UI {karena Form/UI biasanya cukup kompleks}
  • lebih baik menggunakan Request to -- AI, untuk membuat suatu Form / UI

contoh: artikel Request: ke AI secara efektif dan efisien {Tone yang tepat} pada bagian Case study 1: Request - generate Code dari Gambar

Contoh .MD File, untuk Document Driven Development

Saya bahas tentang Contoh .MD File pada di sini