Cách đóng góp
Chúng tôi hoan nghênh các đóng góp! Đây là cách bắt đầu.
Khởi động nhanh
bash
git clone https://github.com/Totoro-jam/battle-tested-patterns.git
cd battle-tested-patterns
pnpm install
pnpm dev # Khởi động dev server tài liệu
pnpm test # Chạy tất cả test (bài tập + component tài liệu)Các loại đóng góp
Thêm một pattern mới
- Mở một Issue đề xuất pattern
- Theo SOP 01: Pattern mới
- Gửi PR kèm checklist đã điền
Thêm phần triển khai ngôn ngữ
- Chọn một pattern còn thiếu ngôn ngữ của bạn
- Theo SOP 03: Triển khai đa ngôn ngữ
- Bản triển khai phải theo idiom — không phải dịch dòng-một-dòng
Sửa liên kết hỏng
Cải thiện tài liệu
- Sửa lỗi typo, làm rõ phần giải thích, cải thiện sơ đồ
- Dùng commit type
docs:
Tiêu chuẩn chất lượng
Mỗi pattern phải đáp ứng tối thiểu các yêu cầu sau:
- ≥ 2 bằng chứng production với liên kết GitHub chính xác (tới số dòng)
- Triển khai TypeScript + ≥ 1 ngôn ngữ khác (Rust/Go/Python)
- File bài tập cho cả 4 ngôn ngữ (TS, Rust, Go, Python) + file đáp án
- Bản dịch tiếng Trung với khối code giống nhau
- Tất cả test pass (
pnpm test·cargo test·go test ./...·pytest), không có lỗi lint
Xem checklist đầy đủ trong template PR.
Quy ước commit
Chúng tôi dùng Conventional Commits:
text
feat: add cooperative-scheduling pattern
fix: update broken Linux source link in bitmask
docs: improve Core Idea diagram for double-buffering
test: add advanced exercise for min-heap
ci: add Go test step to CI workflow
chore: update dependencies