Menulis dokumentasi kode lengkap terlebih dahulu mungkin berlebihan dan agak mengingatkan pada metodologi air terjun. Namun, saya telah menemukan bahwa pendekatan yang lebih pragmatis adalah menulis README terlebih dahulu. Inilah alasannya:
README tidak mendokumentasikan setiap detail proyek Anda. Sebaliknya, biasanya berisi info berikut:
- Deskripsi : "nada penjualan" pendek. Beri tahu pembaca mengapa mereka harus terus membaca.
- Contoh cepat : cuplikan kode pendek atau tangkapan layar untuk mendukung deskripsi.
- Mulai cepat : cara memulai , menginstal instruksi, dan lebih banyak contoh.
- Dokumentasi lebih lanjut : tautan ke dokumen lengkap dan info lebih lanjut.
- Organisasi proyek : siapa penulisnya, cara berkontribusi, cara mengajukan bug.
- Pemberitahuan hukum : lisensi, hak cipta, dan detail hukum lainnya.
Menulis "promosi dagang" di depan memaksa saya untuk menjadi sangat jelas tentang mengapa proyek ini harus ada dan mengapa pengembang harus menggunakannya. Tindakan menulis kalimat penuh hanya untuk menggambarkan proyek sering mengubahnya menjadi lebih baik: Anda memahaminya lebih baik, mengembangkan ide-ide baru, dan mengungkap potensi masalah. Ini juga alat prioritas yang bagus: apa pun di "promosi dagang" adalah yang harus dimiliki!
"Contoh cepat" dan "panduan mulai cepat" memaksa saya untuk memikirkan kasus penggunaan utama dari perspektif pengguna. Saya telah menemukan bahwa melakukan ini sebelum menulis kode apa pun - sebelum macet dalam detail implementasi dan tenggat waktu yang ketat - mengarah ke API dan desain yang jauh lebih bersih. Ingat: program harus ditulis untuk dibaca orang, dan hanya untuk mesin yang dieksekusi ( SICP ).
Dalam "dokumentasi lebih lanjut", saya membuat garis besar potongan-potongan yang akan membutuhkan dokumentasi terperinci, untuk dilakukan nanti. "Organisasi proyek" memungkinkan saya mencari tahu siapa yang akan mengerjakan proyek dan praktik pengkodean. "Pemberitahuan hukum" ... yah, bisa juga membuat mereka keluar dari jalan juga.
Setelah Anda memiliki README dasar ini, Anda memiliki dokumen yang berguna untuk diskusi, ulasan desain, membagi pekerjaan, dan perencanaan proyek. Saat Anda mengerjakan proyek, sering-seringlah periksa kembali dengan README untuk memastikan Anda masih di jalurnya. Selain itu, secara bertahap memperbarui README dan "dokumentasi lebih lanjut" saat Anda selesai berarti semua dokumentasi Anda akan dilakukan ketika kode selesai, yang merupakan pengalaman yang jauh lebih menyenangkan daripada harus terburu-buru mendokumentasikan semuanya pada menit terakhir.
Untuk info lebih lanjut, lihat hal berikut:
- Pengembangan Berbasis Readme
- Kode yang paling penting bukanlah kode
- Anda adalah apa yang Anda dokumentasikan