44 poin oleh xguru 2024-06-25 | 9 komentar | Bagikan ke WhatsApp
  • Pengembangan berbasis README: pendekatan menulis README terlebih dahulu saat mengembangkan perangkat lunak
  • Kita sering mendengar berbagai metodologi dan teknik pengembangan seperti TDD, BDD, Extreme Programming, dan SCRUM
    • Namun, jika perangkat lunak yang kita kembangkan tidak memenuhi kebutuhan pengguna, semuanya menjadi tidak berarti
    • Bahkan implementasi yang sempurna pun tidak bernilai jika mengikuti spesifikasi yang salah, dan library yang indah tetapi tidak terdokumentasi juga hampir tidak bernilai
    • Jika perangkat lunak menyelesaikan masalah yang salah atau cara penggunaannya tidak diketahui, itu menimbulkan masalah serius

Solusi: Mulai dari README

  • Mengapa README harus ditulis lebih dulu
    • Sebelum menulis kode, pengujian, story, dan lainnya, tulislah README terlebih dahulu
    • Menulis README adalah langkah penting untuk membuat perangkat lunak yang baik
    • Sampai kita menuliskan tentang perangkat lunak itu, kita belum jelas tentang apa yang harus dikodekan
    • README membantu kita memikirkan proyek secara sistematis
  • Manfaat menulis README lebih dulu:
    • Kesempatan memikirkan proyek secara sistematis:
      • Kita dapat memikirkan proyek secara sistematis tanpa perlu mengubah kode
      • Sebelum mulai coding, kita bisa mempertimbangkan struktur proyek dan API yang akan disertakan
    • Memastikan dokumentasi yang baik:
      • Pada tahap awal proyek, kita bisa menulis dokumentasi ketika motivasi dan minat masih tinggi
      • Menulis README belakangan cenderung membosankan dan dapat membuat detail penting terlewat
    • Meningkatkan efisiensi kerja tim:
      • Developer lain dalam tim dapat lebih dulu memahami antarmuka sebelum proyek selesai, sehingga mereka bisa mulai mengerjakan hal lain dengan percaya diri
      • Bekerja tanpa antarmuka yang jelas dapat menyebabkan kebutuhan pengerjaan ulang kode dalam skala besar
    • Menyediakan dasar diskusi yang konkret:
      • Dengan tindakan sederhana menuliskan solusi yang diusulkan dalam teks, semua orang dapat berdiskusi dengan gagasan yang jelas
  • Karakteristik README Driven Development (RDD):
    • RDD dapat dipandang sebagai subset atau versi terbatas dari Documentation Driven Development (DDD)
    • RDD membatasi dokumen desain pada satu file untuk mencegah masalah spesifikasi yang berlebihan
    • RDD mendorong pemeliharaan library kecil yang termodularisasi

Kesimpulan

  • Anggap proses menulis README sebagai "tindakan kreatif" yang sesungguhnya
  • Semua ide cemerlang Anda harus terungkap dalam dokumen ini, dan dokumen itu sendiri harus menjadi bukti yang menunjukkan kreativitas dan daya ekspresi
  • README harus menjadi dokumen terpenting dalam codebase, dan menulisnya paling pertama adalah pendekatan yang benar

9 komentar

 
princox 2024-06-26

Baik itu perangkat lunak, novel, film, atau bentuk karya kreatif apa pun, rasanya kalau dibuat sambil menyusun desain dan perencanaan di depan kertas, detail-detail kecil bisa lebih mudah terjaga.. :)

 
markman 2024-06-26

Saya sudah terlalu lama melupakan hal yang paling mendasar, jadi sekarang saya harus mulai mempraktikkannya.

 
halfenif 2024-06-25

Kami memutuskan untuk menyebutnya "desain dasar".

 
gargoyle92 2024-06-25

Tanpa sengaja, ini cukup mirip dengan cara dan konteks saya bekerja.
Tampaknya bagian itu dihasilkan dalam bentuk README.

Saat bekerja, saya cenderung menuliskan dengan jelas What, Why, How, dan sebagainya, lalu sambil berjalan membentuk gambaran tentang pekerjaan yang perlu dilakukan, jadi rasanya mirip dengan itu.

 
kandk 2024-06-25

Pengembangan yang Dipandu README

 
dbs0829 2024-06-25

Kami adalah organisasi riset, jadi saya sering memikirkan bagaimana merilis hasil riset dalam bentuk kode, dan sepertinya pengembangan yang dipandu README akan sangat cocok untuk kami. Ini terasa seperti pendekatan yang layak dipertimbangkan sejak tahap awal dimulainya riset.

 
jamsya 2024-06-25

Mirip dengan ini, saat mengerjakan backend saya juga sering melihat tampilan sambil menulis dokumentasi API secara kasar terlebih dahulu,
dan itu cukup membantu untuk mengurangi trial and error.

 
bbulbum 2024-06-25

Kalau dipikir-pikir, ini terasa seperti pentingnya terlebih dahulu mendefinisikan dengan tepat masalah yang harus diselesaikan.

 
xguru 2024-06-25

Ini tulisan dari tahun 2010, saya menemukannya saat membaca tulisan lain jadi saya coba bagikan di sini.