Tentang proyek ini
Dokumentasi proyek untuk buku ini: bagaimana ia disusun, bagaimana membangun dan memeriksanya, dan di mana sumber kebenaran berada. Untuk bukunya sendiri, lihat daftar isi.
Peta proyek
- Buku: diterbitkan dalam empat lokal di bawah
locales/; lihat spec/locales.md. Lokal ini,en-gb-oxendict/topics/(63 berkas),en-gb-oxendict/front-matter/, dan lampiran di Bagian 9 adalah sumber yang ditulis tangan;en-001,en-gb, danen-usditurunkan darinya. - Sumber kebenaran:
spec/di akar repositori (tidak diterbitkan ke situs). Strukturnya dinyatakan dispec/structure.md, aturan penulisan dispec/conventions.md, dan ejaan dispec/oxford-spelling.md. Semua yang lain dibangun agar cocok. - Perkakas:
tools/localize.pymenurunkan tiga lokal lainnya;tools/gen_nav.pymenghasilkan navigasi;tests/validate.pymenegakkan spesifikasi;justfilemenghubungkan semuanya. - Panduan kontributor:
AGENTS.mddi akar repositori, dan panduan di bagian kontribusi.
Membangun dan memeriksa
Rangkaian validasi berjalan di Python 3 tanpa dependensi lain dan tanpa akses jaringan. Tugas dijalankan melalui just.
just test # validate structure, style, links, and spec-vs-disk
just nav # regenerate the generated navigation files
just check # nav, then test
just stats # topic and word counts Repositori ini menyimpan isi dan spesifikasi buku. Ia dirender menjadi situs web
oleh repositori terpisah software-engineering-metrics.github.io.
Bagaimana pengembangan berbasis spesifikasi bekerja di sini
Spesifikasi didahulukan. spec/structure.md menyatakan topik apa yang ada dan
bagaimana ia dinomori. spec/conventions.md menyatakan bagaimana topik harus
ditulis. Topik-topik dikarang untuk memenuhi keduanya. tools/gen_nav.py menurunkan navigasi dari topik, dan tests/validate.py memeriksa hasilnya
kembali terhadap spesifikasi. Jika topik dan spesifikasi pernah berselisih,
pengujian gagal, yang merupakan sinyal untuk menyelaraskannya kembali.
Ini menjaga penyimpangan tetap di luar: sebuah perubahan baru “selesai” ketika spesifikasi, topik, navigasi yang dihasilkan, dan pengujian semuanya sepakat.
Keputusan desain yang layak diketahui
- Topik datar bernomor desimal. Berkas adalah
locales/<locale>/topics/PP-CC-slug.md, slug yang sama di setiap lokal. Bagian adalah bilangan bulat; topik adalah desimal; N.0 adalah pengantar bagian. Ini menjaga pengenal tetap stabil dan memungkinkan perkakas mengurutkan dan mengelompokkan tanpa pohon direktori. - Satu lokal ditulis tangan, tiga diturunkan.
en-gb-oxendictadalah ejaan Oxford, gaya rumah sebagian besar badan standar internasional (lihatspec/oxford-spelling.md);en-001,en-gb, danen-usditurunkan secara mekanis darinya, sehingga terjemahan tidak pernah menyimpang dari sumber. - Navigasi yang dihasilkan. Daftar isi, halaman isi, dan indeks subjek dihasilkan, sehingga tidak pernah menyimpang dari topik.
- Pengujian luring tanpa dependensi. Rangkaian hanya memakai pustaka standar sehingga berjalan di mana saja, termasuk CI dan pre-commit hook.
- Referensi silang tetap teks biasa. Prosa merujuk topik dengan nomor desimal (“lihat topik 2.1”), seperti yang disyaratkan spesifikasi; situs perender bertanggung jawab mengubah rujukan itu menjadi tautan.
- Tanpa em-dash, menurut aturan dan menurut uji. Pilihan gaya yang disengaja, ditegakkan agar tetap benar seiring bertambahnya buku.
- Setiap keluarga metrik menyebut jalur manipulasinya sendiri. Ini satu-
satunya aturan dalam templat yang tidak punya padanan di proyek saudara
software-engineering-guide: ia ada karena seluruh pokok bahasan buku ini adalah pengukuran, sehingga risiko pengukuran itu sendiri harus menjadi kelas satu, bukan implisit.
Bacaan lanjutan
- Penulisan : menulis dan menyunting topik.
- Navigasi : bagaimana berkas yang dihasilkan bekerja.
- Pengujian : apa yang diperiksa pengujian dan cara memperbaiki kegagalan.
- Contoh : contoh kecil dan konkret.
- Catatan perubahan : sejarah perubahan penting.