Tôi đang cố gắng áp dụng TDD trong thực hành lập trình hàng ngày của mình. Tôi sử dụng nó trong công việc rất hiệu quả, nhưng tôi gặp rắc rối với các dự án cá nhân của mình, nơi tôi đang sử dụng một số thuật toán phức tạp.
Thuật toán cụ thể khiến tôi đặt câu hỏi này là Bộ lọc Kalman mở rộng. Nó đủ phức tạp đến nỗi tôi không tin tưởng vào mã tôi đã viết, nhưng nó đủ đơn giản để khó chia tay.
Tôi có thể viết một bài kiểm tra cho thuật toán với đầu vào và đầu ra dự kiến, nhưng tôi sẽ thực hiện nhiều cú đập và mã hóa shotgun ở giữa vì tôi không tin tưởng vào các bước trung gian đó.
Nếu bạn đã làm việc với các thuật toán phức tạp hợp lý và sử dụng TDD, cách tiếp cận của bạn là gì?