Phép thử của một quy trình tái lập được rất đơn giản: trên một máy sạch, chạy một lệnh, và ra lại toàn bộ hình vẽ trong bài.
Nếu bạn không làm được điều đó, thì không ai làm được — và bạn của sáu tháng sau cũng không.
Bốn nguyên tắc
- Dữ liệu thô không bao giờ bị sửa.
- Mọi biến đổi nằm trong mã, không làm bằng tay.
- Thứ tự chạy được ghi rõ.
- Phiên bản phần mềm được ghi lại.
Cấu trúc thư mục dự án
- Thư mục dữ liệu thô, chỉ đọc.
- Thư mục dữ liệu đã xử lý, sinh ra từ mã.
- Thư mục mã.
- Thư mục kết quả: hình, bảng.
- Một tệp mô tả cách chạy.
Phần hay bị bỏ sót
- Bước làm sạch dữ liệu ban đầu, thường làm bằng tay.
- Các quyết định loại bỏ dữ liệu.
- Tham số ngẫu nhiên không được cố định.
- Phiên bản thư viện thay đổi làm kết quả khác đi.
Kiểm trước khi nộp bài
- Xoá hết kết quả trung gian, chạy lại từ đầu.
- Kiểm mọi con số trong bài truy được về mã.
- Chạy trên máy khác nếu có thể.
- Bước này bắt được nhiều lỗi nghiêm trọng nhất.
Lợi ích ngay lập tức
- Phản biện hỏi nếu bỏ nhóm này thì sao — bạn trả lời trong một phút.
- Phát hiện lỗi ở bước ba thì không phải làm lại bằng tay từ bước bốn.
- Người trong nhóm tiếp tục được công việc của bạn.
- Đây là lý do thực tế, không phải lý do lý tưởng.
Một điều đáng nhớ
Trước khi nộp bài, xoá hết kết quả trung gian và chạy lại toàn bộ từ dữ liệu thô.
Đây là bước phát hiện nhiều lỗi nghiêm trọng nhất trong toàn bộ quy trình — và nó phát hiện chúng trước khi có người ngoài đọc bài, chứ không phải sau.
Câu hỏi thường gặp
Phép thử của quy trình tái lập được là gì?
Trên một máy sạch, chạy một lệnh và ra lại toàn bộ hình vẽ trong bài — nếu bạn không làm được thì không ai làm được.
Bốn nguyên tắc là gì?
Dữ liệu thô không bao giờ bị sửa, mọi biến đổi nằm trong mã chứ không làm bằng tay, thứ tự chạy được ghi rõ, và phiên bản phần mềm được ghi lại.
Cấu trúc thư mục nên thế nào?
Thư mục dữ liệu thô chỉ đọc, thư mục dữ liệu đã xử lý sinh từ mã, thư mục mã, thư mục kết quả, và một tệp mô tả cách chạy.
Phần nào hay bị bỏ sót?
Bước làm sạch dữ liệu ban đầu thường làm bằng tay, các quyết định loại bỏ dữ liệu, tham số ngẫu nhiên không cố định, và phiên bản thư viện thay đổi.
Bước nào phát hiện nhiều lỗi nhất?
Xoá hết kết quả trung gian và chạy lại toàn bộ từ dữ liệu thô trước khi nộp bài.